Commit graph

327 commits

Author SHA1 Message Date
unknown
9bc3976c79 Slightly amended Monty's SP replication code cleanup patch
sql/item.cc:
  Code cleanup
sql/item.h:
  Code cleanup
sql/log.cc:
  Added comments
sql/sp_head.cc:
  Code cleanup patch from Monty: 
  in subst_spvars()
  - Move local variables first in block
  - Use res|= instead of res |=
  - Use strmake() instead of alloc + memcpy
  Added:
  - Fail the query if we don't have enough memory to produce a binlog-suitable query string: 
    if we're so low on memory we're likely to fail the query anyway, and failing now removes
    the need for hack with THD::query_str_binlog_suitable.
sql/sql_class.cc:
  Remove THD::query_str_binlog_unsuitable
sql/sql_class.h:
  Remove THD::query_str_binlog_unsuitable
sql/sql_delete.cc:
  Remove THD::query_str_binlog_unsuitable
sql/sql_insert.cc:
  Remove THD::query_str_binlog_unsuitable
sql/sql_parse.cc:
  Code cleanup
sql/sql_update.cc:
  Remove THD::query_str_binlog_unsuitable
2005-08-27 02:33:06 +04:00
unknown
8a5e527453 Fix for BUG#12335 (SP replication) : New binlogging strategy for stored PROCEDUREs/FUNCTIONs.
"Interleaved SPs execution is now binlogged properly, "SELECT spfunc()" is binlogged too.
The known remaining issue is binlogging/replication of "a routine is deleted while it is executed" scenario.


mysql-test/r/rpl_sp.result:
  Fix for BUG#12335: updated test cases/results
mysql-test/t/rpl_sp.test:
  Fix for BUG#12335: updated test cases/results
sql/item.cc:
  Fix for BUG#12335 (SP replication): 
   - Added Item_name_const 'function'
   - Addede 'delete reuse' to call dtor on item reuse
sql/item.h:
  Fix for BUG#12335 (SP replication) : Added Item_name_const 'function' + code cleanup
sql/item_create.cc:
   Fix for BUG#12335 (SP replication) : Added Item_name_const 'function'
sql/item_create.h:
   Fix for BUG#12335 (SP replication) : Added Item_name_const 'function'
sql/item_func.cc:
  Fix for BUG#12335 (SP replication) : binary log is now constrolled from within execute_function.
sql/lex.h:
  Fix for BUG#12335 (SP replication) : Added Item_name_const 'function'
sql/log.cc:
  Fix for BUG#12335 (SP replication) : Added MYSQL_LOG::{start|stop}_union_events to allow
  one to temporary disable binlogging but collect a 'union' information about binlog write
  calls.
sql/mysql_priv.h:
  Fix for BUG#12335 (SP replication)
sql/sp_head.cc:
  Fix for BUG#12335 (SP replication) : Now we use different SP binlogging strategy, grep for 
  StoredRoutinesBinlogging for details
sql/sp_head.h:
  Comments added
sql/sp_pcontext.h:
  Comments added
sql/sp_rcontext.h:
  Comments added
sql/sql_class.cc:
  Fix for BUG#12335 (SP replication) : Now we use different SP binlogging strategy, grep for 
  StoredRoutinesBinlogging for details
sql/sql_class.h:
  Fix for BUG#12335 (SP replication) : Added MYSQL_LOG::{start|stop}_union_events to allow
  one to temporary disable binlogging but collect a 'union' information about binlog write
  calls.
sql/sql_delete.cc:
  Fix for BUG#12335: check THD::query_str_binlog_unsuitable when writing to binlog.
sql/sql_insert.cc:
  Fix for BUG#12335: check THD::query_str_binlog_unsuitable when writing to binlog.
sql/sql_lex.cc:
  Fix for BUG#12335 (SP replication): Add ability to extract previous returned token from
  the tokenizer.
sql/sql_lex.h:
  Fix for BUG#12335 (SP replication): Add ability to extract previous returned token from
  the tokenizer.
sql/sql_parse.cc:
  Fix for BUG#12335 (SP replication) : Now we use different SP binlogging strategy, grep for 
  StoredRoutinesBinlogging for details
sql/sql_update.cc:
  Fix for BUG#12335: check THD::query_str_binlog_unsuitable when writing to binlog.
sql/sql_yacc.yy:
  Fix for BUG#12335 (SP replication) : When creating Item_splocal, remember where it is located
  in the query.
2005-08-25 17:34:34 +04:00
unknown
6b3478ec12 Fixes during review of new pushed code
Change bool in C code to my_bool
Added to mysqltest --enable_parsning and --disable_parsing to avoid to have to comment parts of tests
Added comparison of LEX_STRING's and use this to compare file types for view and trigger files.


client/client_priv.h:
  Added OPT_TRIGGERS (to get rid of compiler warning)
client/mysql.cc:
  Added cast to get rid of compiler warning
client/mysqldump.c:
  Added OPT_TRIGGERS (to get rid of compiler warning)
  Abort if we can't write to outfile (even if --ignore-errors is given)
client/mysqltest.c:
  Added --enable_parsning and --disable_parsing to avoid to have to comment parts of tests
include/my_sys.h:
  Make my_progname const
include/my_time.h:
  Avoid using 'bool' in C programs
mysql-test/lib/init_db.sql:
  Align with mysql_create_system_tables
  (Ideally this file should be auto-generated from the above script)
mysql-test/r/mysqltest.result:
  Test for --enable_parsing
mysql-test/r/variables.result:
  Update results after fix for overflow checking of max_heap_table_size
mysql-test/t/information_schema.test:
  USe --enable/disable parsing instead of comments
mysql-test/t/mysqltest.test:
  Test for --enable_parsing
mysql-test/t/sp.test:
  USe --enable/disable parsing instead of comments
mysql-test/t/variables.test:
  Portability fix for 64 bit systems
mysql-test/t/view.test:
  USe --enable/disable parsing instead of comments
mysys/my_init.c:
  May my_progname const
mysys/my_static.c:
  May my_progname const
mysys/thr_lock.c:
  Remove not needed casts
sql-common/my_time.c:
  Change bool -> my_bool as bool is not portable in C programs
sql/field.cc:
  Test number_to_datetime() for -1 instead of < 0 (Safety fix)
  New prototype for TIME_to_timestamp()
sql/item.h:
  Don't have prototypes for both uint32 and ulong as these 'may' be the same thing
sql/item_timefunc.cc:
  New prototype for TIME_to_timestamp()
sql/log.cc:
  Remove compiler warnings
sql/mysql_priv.h:
  New prototype for TIME_to_timestamp()
  Added function for comparing LEX_STRING
sql/set_var.cc:
  Added overflow checking when setting ulong variable
sql/sql_base.cc:
  Added function is_equal()
  Changed strncmp -> is_equal() as strncmp() to not match "V" (instead of "VIEW")
sql/sql_class.cc:
  Added comment
sql/sql_select.cc:
  Portability fixes
  After review fixes
sql/sql_trigger.cc:
  Use 'tables_alias_charset' for comparing database name
  Use 'is_equal()' to compare file type. (Old code didn't do the comparison correctly)
sql/sql_view.cc:
  Use 'is_equal()' to compare file type. (Old code didn't do the comparison correctly)
sql/time.cc:
  New prototype for TIME_to_timestamp() to allow easyer mapping to C function
sql/tztime.cc:
  bool -> my_bool (to allow calling C code from C++ code)
sql/tztime.h:
  bool -> my_bool (to allow calling C code from C++ code)
2005-07-31 12:49:55 +03:00
unknown
79f75d8fad Cleanups during review of new code
Ensure mysql_close() is called if mysql_set_character_set() fails


libmysql/libmysql.c:
  Indentation cleanup
mysql-test/r/select.result:
  Fix bad merge & align code with 4.1
mysql-test/r/type_newdecimal.result:
  Added test of extreme case
mysql-test/t/select.test:
  Fix bad merge & align code with 4.1
mysql-test/t/type_newdecimal.test:
  Added test of extreme case
mysys/charset.c:
  Removed not used variable
mysys/default.c:
  Simplify code
sql-common/client.c:
  Ensure mysql_close() is called if mysql_set_character_set() fails
sql/log.cc:
  strmov(strmov())  -> strxmov()
sql/sp.cc:
  Indentation fixes
sql/sql_acl.cc:
  Indentation fixes
sql/sql_base.cc:
  Added commments
  Moved variable to inner block
sql/sql_show.cc:
  Simple optimization (removed loop variable)
sql/sql_trigger.cc:
  strmov(strmov())  -> strxmov()
strings/decimal.c:
  Indentation fixes
2005-07-28 16:10:14 +03:00
unknown
5b6c1348c7 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mishka.local:/home/my/mysql-5.0


client/mysqldump.c:
  Auto merged
include/my_sys.h:
  Auto merged
mysys/Makefile.am:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
sql/sql_select.cc:
  Auto merged
mysys/default.c:
  SCCS merged
2005-07-18 19:03:01 +03:00
unknown
68b4d7b74d Cleanups during review
Changed defaults option --instance to --defaults-group-suffix
Changed option handling to allow --defaults-file, --defaults-extra-file and --defaults-group-suffix to be given in any order
Changed MYSQL_INSTANCE to MYSQL_GROUP_SUFFIX
mysql_print_defaults now understands --defaults-group-suffix
Remove usage of my_tempnam() (not safe function)
if( -> if ( and while( to while (


BitKeeper/deleted/.del-my_tempnam.c~a8562f15dad3012f:
  Delete: mysys/my_tempnam.c
VC++Files/client/mysqlclient.dsp:
  Remove not used file my_tempnam.c
VC++Files/client/mysqlclient_ia64.dsp:
  Remove not used file my_tempnam.c
VC++Files/libmysql/libmysql.dsp:
  Remove not used file my_tempnam.c
VC++Files/libmysql/libmysql_ia64.dsp:
  Remove not used file my_tempnam.c
VC++Files/mysys/mysys.dsp:
  Remove not used file my_tempnam.c
VC++Files/mysys/mysys_ia64.dsp:
  Remove not used file my_tempnam.c
client/mysql.cc:
  Change to use get_defaults_options()
  Remove compiler warnings
client/mysqldump.c:
  Indentation fixes
  Use quoted table name for 'primary_key_fields'
extra/my_print_defaults.c:
  Add support for --defaults-group-suffix
  change to use get_default_options()
extra/replace.c:
  Replace my_tempnam() with create_tmp_file() to allow us to remove my_tempnam.c
include/config-win.h:
  Added DEFAULT_GROUP_SUFFIX_ENV
include/my_sys.h:
  Change defaults_instance -> defaults_group_suffix
  Change get_defaults_files -> get_defaults_options
libmysql/Makefile.shared:
  Added DEFAULT_GROUP_SUFFIX_ENV
mysys/Makefile.am:
  Added DEFAULT_GROUP_SUFFIX_ENV
  Remove my_tempnam.c
mysys/default.c:
  Changed --instance to --defaults-group-suffix
  Changed MYSQL_INSTANCE to MYSQL_GROUP_SUFFIX and moved the name to Makefile.am
  (mysys shouldn't by MySQL independent)
  Changed option handling to allow --defaults-file, --defaults-extra-file and --defaults-group-suffix to be given in any order
mysys/default_modify.c:
  Optimized code to use allocated space more efficently
  Reduce code size
  Ensure that realloc() works independent of argument size
mysys/my_bitmap.c:
  Added missing return
sql/ha_innodb.cc:
  Change if( -> if (
sql/ha_ndbcluster.cc:
  Change while( -> while (
sql/item_cmpfunc.cc:
  Break loop early (simple optimization)
sql/item_strfunc.cc:
  Change if( -> if (
sql/log.cc:
  Fixed comment
sql/mysqld.cc:
  Change if( -> if (
sql/opt_range.cc:
  while( -> while (
  if( -> if (
sql/parse_file.cc:
  Change if( -> if (
sql/sql_cache.cc:
  while( -> while (
sql/sql_parse.cc:
  Change if( -> if (
sql/sql_prepare.cc:
  Added comment
sql/sql_select.cc:
  while( -> while (
  Removed index variable by incrementing pointer
sql/sql_show.cc:
  Change if( -> if (
sql/sql_yacc.yy:
  Change if( -> if (
tests/mysql_client_test.c:
  Added cast to first argument to bzero()
2005-07-18 15:33:18 +03:00
unknown
8daa1c4229 Merge mysql.com:/home/bkroot/mysql-4.1
into  mysql.com:/home/bk/mysql-5.0


BitKeeper/etc/config:
  Auto merged
include/my_global.h:
  Auto merged
sql/des_key_file.cc:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/net_serv.cc:
  Auto merged
vio/vio.c:
  Auto merged
vio/viosocket.c:
  Auto merged
sql/log.cc:
  Manual merge
sql/slave.cc:
  Manual merge
2005-07-13 02:13:04 +02:00
unknown
9e4eb5f2d5 BUG#6987: Added note when stat is failing on relay log, added mutex for log rotatation.
sql/log.cc:
  Added a note when stat failed on log file
sql/slave.cc:
  Added mutex for relay log rotation
2005-07-12 06:01:26 +02:00
unknown
6998877731 Moved tc_log_page_waits outside HAVE_MMAP,
because it's used also outside.
2005-06-07 11:45:28 +03:00
unknown
c8b88e8e45 Include fix to function open_binlog from 4.1
- Add O_SHARE when opening file.


sql/log.cc:
  Add O_SHARE when opening file. This is from mysql-4.1 but since function has been moved from sql_repl.cc, it was missed during merge.
2005-05-26 21:01:54 +02:00
unknown
ab54e16705 Fixes while reviewing new code
Added option --count to mysqlshow (to show number of rows)
Fixed possible core dump in information schema


client/client_priv.h:
  --count for mysqlshow
client/mysqlshow.c:
  Added option --count to be used when the user want's number of rows per table in the output
  (We shouldn't use count(*) as default as this can be a slow operation)
mysys/my_thr_init.c:
  Correct comment
sql/ha_berkeley.cc:
  Remove not used variable
sql/ha_berkeley.h:
  Remove not used variable
sql/ha_innodb.cc:
  Remove not used function
sql/ha_ndbcluster.cc:
  false -> FALSE
  true -> TRUE
sql/handler.cc:
  Added and fixed comments
  Remove 'strange' code to remove compiler warnings (better to do things like this with attribute)
sql/item.cc:
  false -> FALSE
sql/item_cmpfunc.cc:
  Fixed indentation
sql/item_cmpfunc.h:
  marked BETWEEN as a bool function
sql/item_func.cc:
  Simple optimzation
sql/key.cc:
  Removed wrong code
sql/log.cc:
  Check result from open_index_file()
sql/mysql_priv.h:
  Simplyfy some test of netware
sql/mysqld.cc:
  Fixed indentation
  Check result form open_index_file()
  Simplify code with IF_NETWARE()
sql/opt_range.cc:
  false -> FALSE
  true -> TRUE
  Fixed indentation
sql/opt_sum.cc:
  Fixed comments
sql/sp_head.cc:
  Simple optimzation
  Move variable declarations to begining of blocks
sql/sql_acl.cc:
  Fix long lines
  Rename xx -> column
  Move declaration to beginning of block
sql/sql_parse.cc:
  Removed comment
sql/sql_select.cc:
  Indentation fixes
sql/sql_show.cc:
  Fixed reference outside of array (possible core dump)
sql/sql_table.cc:
  Simplify code
  Combine common code
sql/sql_test.cc:
  false -> FALSE
sql/sql_trigger.cc:
  false -> false
  true -> TRUE
sql/sql_yacc.yy:
  Simpler test
sql/unireg.cc:
  Added comment
2005-05-06 11:39:30 +03:00
unknown
f5c3843c37 Fixes for BUG#10039 "MEMORY engine is reported as HEAP",
BUG#9738 "SHOW VARIABLES still displays the deprecated 'log_update' in 5.0",
BUG#9542 "MySQL dies with signal 11 when it is using non-existent location of binary logs"



mysql-test/r/create.result:
  MEMORY, not HEAP
mysql-test/r/ps_1general.result:
  order changed in SHOW STORAGE ENGINES
mysql-test/r/variables.result:
  MEMORY, not HEAP
sql/handler.cc:
  the array of storage engine names is searched in index order, so we must put the preferred name
  before the alias so that the preferred name is printed by MySQL instead of the alias.
sql/log.cc:
  TC_LOG::open(): don't try to open if the index (relevant only for binlog TC log)
  could not be opened.
sql/set_var.cc:
  --log-update is deprecated and replaced by --log-bin so don't show log_update in SHOW VARIABLES.
2005-04-23 00:05:05 +02:00
unknown
cd0a50bf34 remove the rest of isam/merge references
fix a race condition in TC_LOG_BINLOG::unlog


include/Makefile.am:
  remove the rest of isam/merge references
include/config-win.h:
  unused and abused macro removed
include/my_pthread.h:
  unused and abused macro removed
include/my_sys.h:
  MY_IGNORE_BADFD flag
include/mysql_embed.h:
  remove the rest of isam/merge references
mysql-test/r/replace.result:
  remove the rest of isam/merge references
mysql-test/t/replace.test:
  remove the rest of isam/merge references
mysql-test/t/xa.test:
  comment
mysys/my_sync.c:
  MY_IGNORE_BADFD flag
sql/handler.cc:
  remove the rest of isam/merge references
sql/log.cc:
  fix a race condition in TC_LOG_BINLOG::unlog
  preparation for binlog group commit
sql/mysql_priv.h:
  remove duplicates
sql/mysqld.cc:
  remove the rest of isam/merge references
sql/opt_range.cc:
  remove the rest of isam/merge references
sql/set_var.cc:
  hide unused variables. simplify sync_binlog code
sql/sql_base.cc:
  remove the rest of isam/merge references
sql/sql_class.h:
  cleanup
2005-04-05 13:17:49 +02:00
unknown
a2bf9d52ee Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-5.0
into production.mysql.com:/nfstmp1/guilhem/mysql-5.0-prod


BitKeeper/etc/logging_ok:
  auto-union
sql/log.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/set_var.cc:
  Auto merged
2005-03-22 00:28:33 +01:00
unknown
ac46bf77ae Last part of WL#1062: better replication of timezones: no more use
of SET ONE_SHOT; storing tz info directly in event (if this info is needed),
it's now allowed to have different global tz on master and slave.


client/mysqlbinlog.cc:
  we need MAX_TIME_ZONE_NAME_LENGTH when processing log_event.h, and it's declared in mysql_priv.h
mysql-test/r/rpl_timezone.result:
  result update
mysql-test/t/rpl_timezone-slave.opt:
  Now that we can have different global value of timezone on master and slave, let's test it.
mysql-test/t/rpl_timezone.test:
  Tests of the new replication of timezones: checking the output of mysqlbinlog,
  replication of CONVERT_TZ().
sql/ha_innodb.cc:
  No very fast shutdown on Netware (anyway it's disabled on all platforms,
  but this is so that we don't forget to keep it disabled on Netware in the future).
sql/log.cc:
  No more need to write SET ONE_SHOT to binlog for character set and timezone
  (as we store this info  directly nin the Query_log_event now).
sql/log_event.cc:
  Exclude ::write() methods if MYSQL_CLIENT.
  Storing timezone info in the Query_log_event in master. Re-reading it in slave.
  Small code cleanups. I plan to not store the end 0 of catalog in binlog
  events soon.
sql/log_event.h:
  replication of time zones: a place for tz info in Query_log_event,
  in LAST_EVENT_INFO. Plus if we are compiling a client, we don't need
  the ::write() methods, so keeping them out (of mysqlbinlog.cc;
  keeping them in, resulted in problem that mysqlbinlog does not know Timezone
  structure).
sql/mysql_priv.h:
  moving this define from tztime.h (tztime.h has things which are
  too much for a client like mysqlbinlog).
sql/set_var.cc:
  It's now allowed to change global value of charset or timezone even if using binlogging
  or if being a slave.
  Making CONVERT_TZ(,,@@session.time_zone) replicate.
sql/set_var.h:
  these ::check()s are not needed anymore (changing global charset
  or timezone is now allowed even if binlogging or slave)
sql/slave.cc:
  No more need to check for same global timezone if master is 5.x
  (ok, strictly speaking if it is > 5.0.3 but this is alpha).
sql/slave.h:
  a function to wrap settings of charset to default.
sql/tztime.cc:
  Adaptation of my_tz_find() to the case where it's not called from inside
  a query (i.e. cannot join its tz tables to the query's ones): this variant
  opens the tz tables itself, reads from them, and closes them. This is presently
  only used by the slave SQL thread (when it sets the tz before executing a query).
sql/tztime.h:
  declaration of new function, plus moving symbol to mysql_priv.h
  for easier usage in mysqlbinlog (Dmitri, pardon me).
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2005-03-22 00:26:12 +01:00
unknown
892a6138ff Eliminate warnings noticed by VC7. This includes fixing my_mmap() on
Windows to call CreateFileMapping() with correct arguments, and
propogating the introduction of query_id_t to everywhere query ids are
passed around. (Bug #8826)


libmysql/libmysql.c:
  Make implicit cast explicit
myisam/mi_open.c:
  Make cast of value to smaller data size explicit
myisam/mi_packrec.c:
  Cast file size (my_off_t) to size_t for mmap
mysys/my_mmap.c:
  Fix Windows version of my_mmap() to use the right parameters
  for call to CreateFileMapping()
sql/field.cc:
  Use temporary value of correct type
sql/field.h:
  Use query_id_t for query_id value
sql/ha_berkeley.cc:
  Fix flag check
sql/ha_innodb.h:
  Use query_id_t for query_id value
sql/handler.cc:
  Explain opt_using_transactions calculation, and add cast
sql/handler.h:
  Fix forward declaration of COND
sql/item.cc:
  Fix val_bool() tests of val_int() to avoid implicit cast
sql/item_cmpfunc.cc:
  Fix typo in switch label
sql/item_func.cc:
  Make implicit cast explicit
sql/item_strfunc.cc:
  Now that query_id is a query_id_t, need to cast it to a ulong here
sql/item_subselect.cc:
  Fix test of value
sql/log.cc:
  Cast my_off_t used for file size to size_t for memory allocation
  Also cast my_off_t when using it to calculate the number of pages for TC log
  Cast total_ha_2pc to uchar when saving it
sql/mysql_priv.h:
  Move up query_id definition so it can be used more widely
sql/opt_range.cc:
  Add unused delete operator to prevent compiler warning
sql/set_var.cc:
  Cast value for max_user_connections
sql/sql_cache.cc:
  Remove unused label
sql/sql_class.h:
  Fix query id values to be of type query_id_t
sql/sql_db.cc:
  Move variable only used inside #ifdef within the #ifdef
sql/sql_help.cc:
  Remove unused label
sql/sql_insert.cc:
  Use query_id_t for query id values
sql/sql_lex.h:
  Add unused delete operator to prevent compiler warning
sql/sql_select.cc:
  Remove unused variable
  Make cast of value explicit
sql/sql_select.h:
  Use query_id_t for query id values
sql/sql_table.cc:
  Make comparison to function pointer explicit
sql/sql_update.cc:
  Use query_id_t for query id values
sql/table.h:
  Use query_id_t for query id values
strings/ctype-simple.c:
  Add cast of long value to (char) in expression
strings/ctype-ucs2.c:
  Add cast of long value to (char) in expression
strings/ctype-utf8.c:
  Make cast to smaller size explicit
2005-03-18 16:12:25 -08:00
unknown
72ae2a5884 sql/log.cc
don't set LOG_EVENT_BINLOG_IN_USE_F for relay logs
sql/sql_repl.cc
    clear LOG_EVENT_BINLOG_IN_USE_F flag before sending an event to a slave


sql/log.cc:
  don't set LOG_EVENT_BINLOG_IN_USE_F for relay logs
sql/sql_repl.cc:
  clear LOG_EVENT_BINLOG_IN_USE_F flag before sending an event to a slave
2005-03-14 17:53:24 +01:00
unknown
174a177ccb print more information 2005-03-14 09:27:34 +01:00
unknown
ec372b09fe print xa recovery progress
add names to handlertons
trans_need_2pc() macro


sql/examples/ha_archive.cc:
  add names to handlertons
sql/ha_berkeley.cc:
  add names to handlertons
sql/ha_innodb.cc:
  add names to handlertons
sql/ha_ndbcluster.cc:
  add names to handlertons
sql/handler.cc:
  print xa recovery progress
sql/handler.h:
  add names to handlertons
  trans_need_2pc() macro
sql/log.cc:
  add names to handlertons
2005-03-13 21:58:09 +01:00
unknown
3b214ab3e8 Merge bk-internal:/home/bk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0


sql/log.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
2005-03-09 13:02:51 +01:00
unknown
a0f63f1b81 don't close binlog in the destructor - use explictit MYSQL_LOG::cleanup for this
mysql-test/r/fulltext.result:
  new test, duplicate test removed
mysql-test/t/fulltext.test:
  new test, duplicate test removed
sql/slave.cc:
  close relay log explicitly
2005-03-09 12:29:51 +01:00
unknown
66d2d13a8e Fix for bug#8740: Server crash at start on Solaris 9 (64 bit) 2005-03-03 17:38:58 +03:00
unknown
e1ba1632fb bug#8151 - truncate leaves a transaction open
deadlock in MYSQL_LOG::new_file()
style fixes


mysql-test/r/innodb.result:
  one more test for truncate
mysql-test/t/innodb.test:
  one more test for truncate
sql/ha_innodb.cc:
  bug#8151 - truncate leaves a transaction open
sql/handler.cc:
  bug#8151 - truncate leaves a transaction open
sql/item.h:
  style fix
sql/item_cmpfunc.cc:
  style fix
sql/item_cmpfunc.h:
  style fix
sql/item_func.cc:
  style fix
sql/item_func.h:
  style fix
sql/log.cc:
  let new_file() to lock LOCK_index,
  don't check for prepared_xids in rotate_and_purge()
  increase thread_safe_increment when LOCK_log is taken
sql/log_event.cc:
  mysqlbinlog now prints a warning if binlog was not closed properly
sql/sql_class.h:
  comments
sql/sql_repl.cc:
  DBUG_ENTER tag corrected
2005-03-02 10:38:25 +01:00
unknown
08b3e79e40 Merge with global tree
mysql-test/r/innodb.result:
  Auto merged
mysql-test/t/innodb.test:
  Auto merged
mysql-test/t/rpl_rotate_logs.test:
  Auto merged
sql/item.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/protocol.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_db.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
sql/examples/ha_archive.cc:
  Merge with global tree
  (Use my changes)
sql/sql_parse.cc:
  Remove 'tmp' fix to be able to run tests
2005-02-25 17:12:06 +02:00
unknown
248e449451 Remove compiler warnings and remove not used variables
(Found during build process)


extra/comp_err.c:
  Remove compiler warnings
extra/perror.c:
  Remove compiler warnings
innobase/dict/dict0dict.c:
  Remove compiler warnings
innobase/dict/dict0load.c:
  Remove compiler warnings
innobase/pars/pars0sym.c:
  Remove compiler warnings
innobase/row/row0row.c:
  Remove compiler warnings
innobase/row/row0sel.c:
  Remove compiler warnings
libmysqld/lib_sql.cc:
  Remove not used variables
myisam/mi_key.c:
  Remove compiler warnings
regex/engine.c:
  Added comment
sql/derror.cc:
  Remove not used variables
sql/examples/ha_archive.cc:
  Fixed bug in blob handling
  Removed not used variable
sql/field.cc:
  Remove compiler warnings
  Remove not used variables
sql/filesort.cc:
  Remove compiler warnings
sql/ha_heap.cc:
  Remove not used variable
sql/ha_innodb.cc:
  Remove not used variables
  Remove compiler warnings
sql/handler.cc:
  Remove compiler warnings and remove not used variables
sql/item.cc:
  Remove compiler warnings and remove not used variables
sql/item_subselect.cc:
  Remove compiler warnings
sql/item_sum.cc:
  Remove compiler warnings
sql/item_sum.h:
  Remove compiler warnings and remove not used variables
sql/log.cc:
  Remove compiler warnings and remove not used variables
sql/log_event.cc:
  Remove compiler warnings
sql/mysqld.cc:
  Remove compiler warnings and remove not used variables
sql/opt_range.cc:
  Remove compiler warnings and remove not used variables
sql/slave.cc:
  Remove compiler warnings and remove not used variables
sql/sp_pcontext.cc:
  Remove compiler warnings and remove not used variables
sql/sql_acl.cc:
  Remove compiler warnings and remove not used variables
sql/sql_analyse.cc:
  Remove compiler warnings and remove not used variables
sql/sql_base.cc:
  Remove compiler warnings and remove not used variables
sql/sql_db.cc:
  Remove compiler warnings and remove not used variables
sql/sql_help.cc:
  Remove compiler warnings and remove not used variables
sql/sql_insert.cc:
  Remove compiler warnings and remove not used variables
sql/sql_load.cc:
  Remove compiler warnings and remove not used variables
sql/sql_parse.cc:
  Remove compiler warnings and remove not used variables
sql/sql_prepare.cc:
  Remove compiler warnings and remove not used variables
sql/sql_select.cc:
  Remove compiler warnings and remove not used variables
sql/sql_show.cc:
  Remove compiler warnings and remove not used variables
sql/sql_table.cc:
  Remove compiler warnings
sql/sql_union.cc:
  Remove compiler warnings
sql/sql_update.cc:
  Remove compiler warnings and remove not used variables
sql/sql_yacc.yy:
  Remove compiler warnings and remove not used variables
sql/strfunc.cc:
  Remove compiler warnings and remove not used variables
strings/ctype-ucs2.c:
  Remove compiler warnings
tests/mysql_client_test.c:
  Remove compiler warnings and remove not used variables
tools/mysqlmanager.c:
  Remove compiler warnings and remove not used variables
2005-02-25 16:53:22 +02:00
unknown
91251238b4 Bug#8412: merged from 4.1
sql/log.cc:
  Merge from 4.1
2005-02-23 23:01:51 +01:00
unknown
7f13845432 Bug#8412: Setting error code to 0 on statements that cannot fail.
sql/log.cc:
  Setting error code to 0 on SQL statements that cannot fail.
2005-02-23 20:59:00 +01:00
unknown
1f2b46fa0f Bug#8412: Merge from 4.0
mysql-test/r/rpl_insert_id.result:
  Auto merged
mysql-test/t/rpl_insert_id.test:
  Auto merged
sql/log.cc:
  Merge from 4.0
2005-02-23 19:58:54 +01:00
unknown
39cab5abec Merge bk-internal:/home/bk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0


sql/log.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
2005-02-23 19:20:17 +01:00
unknown
be9f1863b7 don't log BEGIN in auto-commit mode
correct end_log_pos for Xid_log_event


mysql-test/r/binlog.result:
  don't depend on the previous tests
mysql-test/r/rpl_rotate_logs.result:
  correct end_log_pos for Xid_log_event
mysql-test/t/binlog.test:
  don't depend on the previous tests
sql/handler.h:
  comment
sql/log_event.cc:
  advance position for Xid
sql/log_event.h:
  comment
sql/sql_class.h:
  correct end_log_pos for Xid_log_event
sql/sql_parse.cc:
  make sure commit handler knows whether it's autocommit or not
2005-02-23 18:26:49 +01:00
unknown
0cd185ea6a write "COMMIT" into binlog if there's no Xid at the end of transaction
new tests


mysql-test/r/innodb.result:
  savepoint test
mysql-test/t/innodb.test:
  savepoint test
sql/log.cc:
  write "COMMIT" into binlog if there's no Xid at the end of transaction
2005-02-23 14:55:16 +01:00
unknown
56ed8091dd Fixed Bug#Server crash due to 'flush status' in various tests. 2005-02-23 14:19:48 +02:00
unknown
7caef7f4aa compatibility fixes, crashing tests
include/my_sys.h:
  sol9x86, sunfire100b, qnx compatibility
mysql-test/t/rpl_rotate_logs.test:
  fix the test
sql/ha_innodb.cc:
  don't bother
sql/handler.cc:
  few more ways to crash mysqld :)
sql/handler.h:
  gdb/safemalloc workaround
sql/log.cc:
  rotate a binlog on heuristic recover
sql/mysqld.cc:
  rotate a binlog on heuristic recover
2005-02-22 15:22:37 +01:00
unknown
17cca96ec9 MYSQL_LOG::recover was trying to allocate 0 bytes - bug#8661 2005-02-22 00:43:37 +01:00
unknown
06f3307b45 Merge bk-internal:/home/bk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0


sql/log.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2005-02-22 00:17:56 +01:00
unknown
3ad8d4ba88 bug#8646 - deadlock if long transaction causes binlog rotate
sql/sql_yacc.yy:
  duplicated symbol removed
2005-02-22 00:15:31 +01:00
unknown
32895fe37b Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/my/mysql-5.0


sql/handler.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/log.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2005-02-21 14:48:44 +02:00
unknown
d50af8aece Review of new pushed code (XA & other)
Portability fixes and cleanups
Fixed setting of 'res' in mysql_execute_command()


sql/handler.cc:
  delete_table() will not return error for not found files if one handler file was found and deleted
sql/handler.h:
  Incremented MAX_HA so that ndb works again
  Don't convert char pointer to (my_xid*) as we don't know if the address is aligned on 8
sql/log.cc:
  Indentation fixes
  Simplified loop to find next log
  Fixed race condition in reset_logs that caused mix_innodb_myisam_binlog to fail
sql/log_event.cc:
  Don't convert char pointer to (my_xid*) as we don't know if the address is aligned on 8
sql/sql_acl.cc:
  Convert db name directly to avoid extra strmov
sql/sql_base.cc:
  Added comment
  Removed not needed code
sql/sql_db.cc:
  Added comment
  Remove not needed code
sql/sql_parse.cc:
  Always call mysql_rm_db() with lower case db name
  Ensure that 'res' is set correctly in mysql_execute_command()
  (One don't have to set res if one calls my_error() and res should be = 0 for correct commands)
sql/sql_repl.cc:
  Indentation fixes
  use packet->ptr() instead of packet->c_ptr()
sql/sql_table.cc:
  Join similar code when table didn't exist in engine
2005-02-21 14:47:57 +02:00
unknown
2d044701a9 xa assert fixes
sql/handler.cc:
  more DBUG
sql/handler.h:
  increase MAX_HA (ha_archive has its handlerton too)
sql/log.cc:
  fix assert
2005-02-21 11:51:50 +01:00
unknown
a0a20345b9 portability fixes
mysql-test/r/mysqlbinlog.result:
  result fixed
2005-02-20 20:08:33 +01:00
unknown
0bc02450a6 windows compilation fixes 2005-02-19 12:15:30 +01:00
unknown
de1dcee97e after merge fixes 2005-02-16 17:34:02 +01:00
unknown
2d8b51991c manually merged
client/mysqlbinlog.cc:
  Auto merged
configure.in:
  Auto merged
include/my_global.h:
  Auto merged
include/my_pthread.h:
  Auto merged
innobase/trx/trx0trx.c:
  Auto merged
mysql-test/include/varchar.inc:
  Auto merged
mysql-test/r/bdb.result:
  Auto merged
mysql-test/r/myisam.result:
  Auto merged
mysql-test/r/mysqlbinlog2.result:
  Auto merged
mysql-test/t/ctype_ucs.test:
  Auto merged
mysql-test/t/user_var.test:
  Auto merged
mysys/hash.c:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/log_event.h:
  Auto merged
sql/set_var.h:
  Auto merged
sql/slave.cc:
  Auto merged
sql/slave.h:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_repl.cc:
  Auto merged
sql/sql_repl.h:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_trigger.cc:
  Auto merged
mysql-test/r/ctype_ucs.result:
  ul
mysql-test/r/drop_temp_table.result:
  ul
mysql-test/r/innodb.result:
  ul
mysql-test/r/insert_select.result:
  ul
mysql-test/r/mix_innodb_myisam_binlog.result:
  ul
mysql-test/r/rpl_change_master.result:
  ul
mysql-test/r/rpl_charset.result:
  ul
mysql-test/r/rpl_error_ignored_table.result:
  ul
mysql-test/r/rpl_flush_log_loop.result:
  ul
mysql-test/r/rpl_flush_tables.result:
  ul
mysql-test/r/rpl_loaddata.result:
  ul
mysql-test/r/rpl_loaddata_rule_m.result:
  ul
mysql-test/r/rpl_log.result:
  ul
mysql-test/r/rpl_max_relay_size.result:
  ul
mysql-test/r/rpl_relayrotate.result:
  ul
mysql-test/r/rpl_replicate_do.result:
  ul
mysql-test/r/rpl_rotate_logs.result:
  ul
mysql-test/r/rpl_temporary.result:
  ul
mysql-test/r/rpl_timezone.result:
  ul
mysql-test/r/rpl_until.result:
  ul
mysql-test/r/rpl_user_variables.result:
  ul
mysql-test/r/user_var.result:
  ul
2005-02-14 21:50:09 +01:00
unknown
8a8d476453 Bug#8412: For replication to work correctly, the prologue and
epilogue to an SQL statement should not have an error code even
when the SQL statement itself has an error code.


mysql-test/r/rpl_insert_id.result:
  Adding test to ensure that slave handles error statement gracefully.
mysql-test/t/rpl_insert_id.test:
  Adding test to ensure that slave handles error statement gracefully.
sql/log.cc:
  Setting error code to 0 for SQL statement prologue and epilogue.
2005-02-14 18:39:33 +01:00
unknown
72750ad95a Merge
BitKeeper/etc/logging_ok:
  auto-union
BitKeeper/triggers/post-commit:
  Auto merged
include/my_pthread.h:
  Auto merged
mysql-test/r/select.result:
  Auto merged
mysql-test/t/select.test:
  Auto merged
sql/item.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/table.cc:
  SCCS merged
2005-02-11 11:59:35 +01:00
unknown
9f4f798049 BUG#6749: If there is no current database, then nothing should be binlogged if
binlog-do-db or binlog-ignore-db are in effect.   (In the future 5.1? 5.0? I think 
each statement should be verified against the filtering criteria based on the database
it *uses* and not the *current* one.  But, right now the *current* database is what 
counts according to the semantics of the manual.)


sql/log.cc:
  BUG#6749: If there is no current database, then nothing should be binlogged if
  binlog-do-db or binlog-ignore-db are in effect.   (In the future I think that each 
  statement should be verified against the filtering criteria based on the database
  it *uses* and not the *current* one.  But, right now the *current* database is what 
  counts according to the semantics of the manual.)
2005-02-10 21:23:48 +01:00
unknown
9297872d75 auto-ROLLBACK if binlog was not closed properly
auto-commit on Xid_log_event


client/mysqlbinlog.cc:
  auto-ROLLBACK if binlog was not closed properly.
mysql-test/r/ctype_ucs.result:
  results updated
mysql-test/r/mix_innodb_myisam_binlog.result:
  results updated
mysql-test/r/mysqlbinlog2.result:
  results updated
mysql-test/r/rpl_relayrotate.result:
  results updated
mysql-test/r/user_var.result:
  results updated
mysql-test/t/ctype_ucs.test:
  finalize binlog before calling mysqlbinlog
mysql-test/t/user_var.test:
  finalize binlog before calling mysqlbinlog
sql/log_event.cc:
  commit at Xid_log_event
  comments edited
sql/mysqld.cc:
  free(0) fixed
sql/slave.cc:
  rollback at fake Rotate_log_event
sql/sql_class.h:
  no commit_or_rollback argument for binlog->write(THD *thd, IO_CACHE *cache)
sql/log.cc:
  don't write "COMMIT" query, Xid_log_event is enough
sql/log_event.h:
  more comments for LOG_EVENT_BINLOG_IN_USE_F
  LOG_EVENT_FORCE_ROLLBACK_F added
sql/sql_repl.cc:
  rollback at Rotate_log_event.
  don't consider binlog corrupted if it was open when we read Formar_description but closed when we got to the end
sql/sql_repl.h:
  style fix
2005-02-09 20:04:28 +01:00
unknown
7636b12f6c WL#1062 "log charset info into all Query_log_event":
we store 7 bytes (1 + 2*3) in every Query_log_event.
In the future if users want binlog optimized for small size and less safe,
we could add --binlog-no-charset (and binlog-no-sql-mode etc): charset info
is something by design optional (even if for now we don't offer possibility to disable it):
it's not a binlog format change.
We try to reduce the number of get_charset() calls in the slave SQL thread to a minimum
by caching the charset read from the previous event (which will often be equal to the one of the current event).
We don't use SET ONE_SHOT for charset-aware repl (we still do for timezones, will be fixed later).
No more errors if one changes the global value of charset vars on master or slave
(as we log charset info in all Query_log_event).
Not fixing Load_log_event as it will be rewritten soon by Dmitri.
Testing how mysqlbinlog behaves in rpl_charset.test.
mysqlbinlog needs to know where charset file is (to be able to convert a charset number found
in binlog (e.g. in User_var_log_event) to a charset name); mysql-test-run needs to pass
the correct value for this option to mysqlbinlog.
Many result udpates (adding charset info into every event shifts log_pos in SHOW BINLOG EVENTS).
Roughly the same job is to be done for timezones :)


client/mysqlbinlog.cc:
  mysqlbinlog needs charsets knowledge, to be able to convert a charset
  number found in binlog to a charset name (to be able to print things
  like this:
  SET @`a`:=_cp850 0x4DFC6C6C6572 COLLATE `cp850_general_ci`;
mysql-test/mysql-test-run.sh:
  tell mysqlbinlog about charsets dir
mysql-test/r/ctype_ucs.result:
  different binlogging of charsets results in shifted log_pos and
  one added SET @@CHARACTER_SET... per mysqlbinlog run.
mysql-test/r/drop_temp_table.result:
  different binlogging of charsets results in shifted log_pos and
  one added SET @@CHARACTER_SET... per mysqlbinlog run.
mysql-test/r/insert_select.result:
  different binlogging of charsets results in shifted log_pos and
  one added SET @@CHARACTER_SET... per mysqlbinlog run.
mysql-test/r/mix_innodb_myisam_binlog.result:
  different binlogging of charsets results in shifted log_pos and
  one added SET @@CHARACTER_SET... per mysqlbinlog run.
mysql-test/r/mysqlbinlog.result:
  different binlogging of charsets results in shifted log_pos and
  one added SET @@CHARACTER_SET... per mysqlbinlog run.
mysql-test/r/mysqlbinlog2.result:
  different binlogging of charsets results in shifted log_pos and
  one added SET @@CHARACTER_SET... per mysqlbinlog run.
  The log_pos shift is why the SET INSERT_ID=4 event changes position in the result.
mysql-test/r/rpl_charset.result:
  Running mysqlbinlog to check how it behaves on charset stuff.
  SET ONE_SHOT is now gone.
  Repl of LOAD DATA INFILE is not yet charset-aware (will soon be, when WL#874 is pushed)
  and, anyway result has a dependency on the temp filename (SQL-LOAD-*-[0-9] which is not constant).
  No more errors if one changes global character sets.
mysql-test/r/rpl_error_ignored_table.result:
  different binlogging of charsets results in shifted log_pos and
  one added SET @@CHARACTER_SET... per mysqlbinlog run.
mysql-test/r/rpl_flush_log_loop.result:
  different binlogging of charsets results in shifted log_pos and
  one added SET @@CHARACTER_SET... per mysqlbinlog run.
mysql-test/r/rpl_flush_tables.result:
  different binlogging of charsets results in shifted log_pos and
  one added SET @@CHARACTER_SET... per mysqlbinlog run.
mysql-test/r/rpl_loaddata.result:
  different binlogging of charsets results in shifted log_pos and
  one added SET @@CHARACTER_SET... per mysqlbinlog run.
mysql-test/r/rpl_loaddata_rule_m.result:
  different binlogging of charsets results in shifted log_pos and
  one added SET @@CHARACTER_SET... per mysqlbinlog run.
mysql-test/r/rpl_log.result:
  different binlogging of charsets results in shifted log_pos and
  one added SET @@CHARACTER_SET... per mysqlbinlog run.
mysql-test/r/rpl_max_relay_size.result:
  different binlogging of charsets results in shifted log_pos and
  one added SET @@CHARACTER_SET... per mysqlbinlog run.
mysql-test/r/rpl_relayrotate.result:
  different binlogging of charsets results in shifted log_pos and
  one added SET @@CHARACTER_SET... per mysqlbinlog run.
mysql-test/r/rpl_replicate_do.result:
  different binlogging of charsets results in shifted log_pos and
  one added SET @@CHARACTER_SET... per mysqlbinlog run.
mysql-test/r/rpl_rotate_logs.result:
  different binlogging of charsets results in shifted log_pos and
  one added SET @@CHARACTER_SET... per mysqlbinlog run.
mysql-test/r/rpl_temporary.result:
  different binlogging of charsets results in shifted log_pos and
  one added SET @@CHARACTER_SET... per mysqlbinlog run.
mysql-test/r/rpl_timezone.result:
  different binlogging of charsets results in shifted log_pos and
  one added SET @@CHARACTER_SET... per mysqlbinlog run.
mysql-test/r/rpl_user_variables.result:
  different binlogging of charsets results in shifted log_pos and
  one added SET @@CHARACTER_SET... per mysqlbinlog run.
mysql-test/r/user_var.result:
  different binlogging of charsets results in shifted log_pos and
  one added SET @@CHARACTER_SET... per mysqlbinlog run.
mysql-test/t/rpl_charset.test:
  Running mysqlbinlog to check how it behaves on charset stuff (so, need fixed timestamp).
  SET ONE_SHOT is not printed to binlog anymore, so no need to test if ::exec_event() works ok.
  Repl of LOAD DATA INFILE is not yet charset-aware (will soon be, when WL#874 is pushed)
  and, anyway result has a dependency on the temp filename (SQL-LOAD-*-[0-9] which is not constant).
  No more errors if one changes global character sets.
mysql-test/t/rpl_user_variables.test:
  different binlogging of charsets results in shifted log_pos and
  one added SET @@CHARACTER_SET... per mysqlbinlog run.
sql/log.cc:
  No more SET ONE_SHOT for charsets (remains for TZ until solved with Dmitri).
sql/log_event.cc:
  We now log charset info in each Query_log_event in binlog. It's 2*3 = 6 bytes:
  session character_set_client, session collation_connection, session collation_server.
  Now we would need only one byte per variable, but Bar said 2 is safer for the future.
  When slave or mysqlbinlog reads that info, it needs to get_charset() on these numbers (so, 3 get_charset() calls),
  as most of the time the 6-byte charset info will be equal to the previous event's,
  we cache the previous event's charset and if equal, no need to get_charset().
  As "flags2", SQL_MODE, catalog, autoinc variables, charset info is not a permanent addition:
  in the future we can add options to the master to not log any of these, old 5.0 should be able
  to parse these.
  A little bit of cleanup on autoinc stuff in replication.
  Fixing a bug in Start_log_event_v3::exec_event() where we used rli->relay_log.description_event_for_exec->binlog_version
  while we should use binlog_version (if it's a 3.23 master, that's all that counts; not the fact that the relay log is
  in 5.0 format).
sql/log_event.h:
  binlogging of charset info in each Query_log_event.
sql/mysql_priv.h:
  comment
sql/set_var.cc:
  checks to refuse change of global charset variables are removed: they were needed for 4.1->4.1
  but not for 5.0.3->5.0.3.
  Yes this opens a breach if one does 4.1->5.0.3, where the checks would still be needed. But these checks would need
  reading relay_log.description_event_for_queue, which is currently an object used in many places by the I/O
  thread and only it. So, currently we don't take mutexes for this object, and if we read the object in set_var.cc
  (client thread) we need to add mutexes everywhere, but the replication code is already too broken with mutexes
  now (no consistent use of mutexes); mutex usage in replication should be fixed but preferrably during/after
  multimaster coding as it's going to shuffle mutexes already.
sql/set_var.h:
  Since we don't forbid global change of charset vars for replication/binlogging,
  don't need specific ::check() methods anymore
sql/slave.cc:
  Some little debug info which has nothing to do with charsets.
  Disabling master's charset check when slave I/O thread connects.
  Functions for charset caching/invalidating in the slave SQL thread.
sql/slave.h:
  Cached charset in the slave SQL thread.
2005-02-03 16:22:16 +01:00
unknown
be255d6577 open binlog index file *before* tc_log->open() and binlog itself *after*
sql/mysql_priv.h:
  checkpoint: open_log() removed
sql/sql_yacc.yy:
  checkpoint: open_log() removed
sql/log.cc:
  split the opening of the .index file and binlog itself - now they are done by separate functions
sql/slave.cc:
  init_relay_log_info() made static
  split the opening of the .index file and binlog itself - now they are done by separate functions
sql/slave.h:
  init_relay_log_info() made static
sql/sql_class.h:
  split the opening of the .index file and binlog itself - now they are done by separate functions
2005-02-01 15:36:48 +01:00
unknown
042448aa33 query_id and my_xid -> ulonglong
fix for binlog+autocommit+tclog
comments, style fixes


libmysqld/libmysqld.rc:
  Change mode to -rw-rw-r--
libmysqld/resource.h:
  Change mode to -rw-rw-r--
configure.in:
  check for getpagesize
include/my_global.h:
  typo ?
include/my_pthread.h:
  bug in thread_safe_decrement_and_test()
mysql-test/r/bdb.result:
  results updated
mysql-test/r/innodb.result:
  results updated
mysql-test/r/mix_innodb_myisam_binlog.result:
  results updated
mysql-test/r/rpl_relayrotate.result:
  results updated
sql/ha_berkeley.cc:
  style fixes
sql/ha_innodb.cc:
  fixes to follow innodb coding style
sql/handler.cc:
  more comments. XA COMMIT ONE PHASE fix.
sql/handler.h:
  my_xid -> ulonglong. comments
sql/item_func.cc:
  DO RELEASE_LOCK("...") is no cache_stmt
sql/log.cc:
  comments, better error messages
sql/log_event.cc:
  even in autocommit mode we may need to cache_stmt
  xid is ulonglong
sql/log_event.h:
  more comments.
sql/mysql_priv.h:
  query_id is ulonglong
sql/mysqld.cc:
  default value for --log-tc changed
sql/share/errmsg.txt:
  better error messages
sql/sql_class.h:
  cleanup, comments
sql/sql_delete.cc:
  deleting from temporary tables is not always transactional
sql/sql_insert.cc:
  insert into temporary table is not always transactional
sql/sql_load.cc:
  load data into temp table is not always transactional
sql/sql_parse.cc:
  comments. bad merge fixed. xa_state_names[]
sql/sql_table.cc:
  create/drop temp table is not always transactional
sql/sql_update.cc:
  update temp table is not always transactional
2005-01-27 22:38:56 +01:00