diff options
author | unknown <sasha@mysql.sashanet.com> | 2001-08-03 15:57:53 -0600 |
---|---|---|
committer | unknown <sasha@mysql.sashanet.com> | 2001-08-03 15:57:53 -0600 |
commit | 0dab9f40e1c52ac00e1ca291785ae7943dea577e (patch) | |
tree | 7a15577166ddda4e7b8c9c9cb80471777aeb717b /sql/mf_iocache.cc | |
parent | 07ed42de3177805c3e1f5d8c7664d91ef0015d62 (diff) | |
download | mariadb-git-0dab9f40e1c52ac00e1ca291785ae7943dea577e.tar.gz |
LOAD DATA INFILE is now replicated properly, except for cleanup on
Stop event and bugs the test suite could not catch
Did some big restructuring of binlog event classes - most important
change is that now each event class has exec_event method and one does
not need to modify slave core code to add a new event. Slave code is
now much smaller and easier to read
include/my_sys.h:
pre_code and arg in IO_CACHE
mysql-test/r/rpl_log.result:
updated result for LOAD DATA INFILE fix
mysys/mf_iocache.c:
pre_close routine and arg pointer for callback magic
sql/log.cc:
changed MYSQL_LOG so that write() method is for generic
Log_event - removed redundant code
sql/log_event.cc:
added classes for file events
added exec_event() method to all classes
restructured/cleaned up event classes
sql/log_event.h:
added classes for file events
added exec_event() method to all classes
restructured/cleaned up event classes
sql/mf_iocache.cc:
pre_close/arg
sql/mysqld.cc:
added slave-load-tmpdir and old-rpl-compat options
sql/slave.cc:
changed exec_event() to use Log_event::exec_event()
some routines are now needed in log_event.cc and cannot be static/inline
general cleanup
sql/slave.h:
some routines are now extern because they are called from log_event.cc
sql/sql_class.cc:
added slave_net
sql/sql_class.h:
added slave_net to THD
MYSQL_LOG::write now handles generic Log_event
sql/sql_load.cc:
changes for new handling of LOAD DATA INFILE replication
sql/sql_repl.cc:
added log_loaded_block() callback for IO_CACHE
sql/sql_repl.h:
added structure to pass args to IO_CACHE callback from mysql_load
Diffstat (limited to 'sql/mf_iocache.cc')
-rw-r--r-- | sql/mf_iocache.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sql/mf_iocache.cc b/sql/mf_iocache.cc index bf2f2c37409..24af439961e 100644 --- a/sql/mf_iocache.cc +++ b/sql/mf_iocache.cc @@ -57,7 +57,8 @@ int init_io_cache(IO_CACHE *info, File file, uint cachesize, /* There is no file in net_reading */ info->file= file; - info->pre_read = info->post_read = 0; + info->pre_close = info->pre_read = info->post_read = 0; + info->arg = 0; if (!cachesize) if (! (cachesize= my_default_record_cache_size)) DBUG_RETURN(1); /* No cache requested */ @@ -681,7 +682,10 @@ int flush_io_cache(IO_CACHE *info) int end_io_cache(IO_CACHE *info) { int error=0; + IO_CACHE_CALLBACK pre_close; DBUG_ENTER("end_io_cache"); + if((pre_close=info->pre_close)) + (*pre_close)(info); if (info->buffer) { if (info->file != -1) /* File doesn't exist */ |