mariadb/heap
unknown bbd2adf4ba Fix for BUG#2477 "Slave stop with error after master reboot if use HEAP tables":
when we open the HEAP table for the first time since server restart,
in hp_open(), we set a flag to propagate this info to the handler level
which then writes a DELETE FROM this_heap_table to the binlog.
It is not a perfect solution for the bug, because between the server start and 
the first open of the table, the slave still had old data in his table so
a SELECT on the slave may show wrong content. But if there is a --init-file
to populate the HEAP table on master as startup, then this is a safe fix
(I'll put a note about init-file in the HEAP section of the manual).


heap/hp_info.c:
  new info variable implicit_emptied
heap/hp_open.c:
  If this is the first open of the HEAP table, it means it is empty,
  so we mark it.
include/heap.h:
  new variables implicit_emptied
  (we need one in HEAPINFO for the hp_info() call).
sql/ha_heap.cc:
  report info to upper level
sql/handler.h:
  new info 'implicit_emptied' in the handler level; only HEAP uses it.
sql/sql_base.cc:
  When a HEAP table is opened for the first time, write a DELETE FROM to the binlog,
  for replication and mysqlbinlog|mysql.
  Monty: I added the
  entry->file->implicit_emptied= 0;
2004-01-30 00:05:34 +01:00
..
.cvsignore Import changeset 2000-07-31 21:29:14 +02:00
_check.c New multi-table-update code 2002-11-29 16:40:18 +02:00
_rectest.c Update copyright 2001-12-06 14:10:51 +02:00
ChangeLog Import changeset 2000-07-31 21:29:14 +02:00
heapdef.h Merge with 3.23.54 2002-10-16 13:11:25 +03:00
hp_block.c Update copyright 2001-12-06 14:10:51 +02:00
hp_clear.c Update copyright 2001-12-06 14:10:51 +02:00
hp_close.c Update copyright 2001-12-06 14:10:51 +02:00
hp_create.c Update copyright 2001-12-06 14:10:51 +02:00
hp_delete.c New multi-table-update code 2002-11-29 16:40:18 +02:00
hp_extra.c Update copyright 2001-12-06 14:10:51 +02:00
hp_hash.c Added support of null keys in HEAP tables 2002-01-12 15:42:54 +02:00
hp_info.c Fix for BUG#2477 "Slave stop with error after master reboot if use HEAP tables": 2004-01-30 00:05:34 +01:00
hp_open.c Fix for BUG#2477 "Slave stop with error after master reboot if use HEAP tables": 2004-01-30 00:05:34 +01:00
hp_panic.c Update copyright 2001-12-06 14:10:51 +02:00
hp_rename.c Update copyright 2001-12-06 14:10:51 +02:00
hp_rfirst.c Fixed mysqldumpslow for new dump format. 2002-03-12 11:52:41 +02:00
hp_rkey.c Add support for NULL=NULL in keys (Used in GROUP BY optimization) 2002-01-16 00:42:52 +02:00
hp_rlast.c Update copyright 2001-12-06 14:10:51 +02:00
hp_rnext.c better fix for a bug fix from yesterday 2002-03-07 13:57:52 +02:00
hp_rprev.c Update copyright 2001-12-06 14:10:51 +02:00
hp_rrnd.c Update copyright 2001-12-06 14:10:51 +02:00
hp_rsame.c Update copyright 2001-12-06 14:10:51 +02:00
hp_scan.c New multi-table-update code 2002-11-29 16:40:18 +02:00
hp_static.c Update copyright 2001-12-06 14:10:51 +02:00
hp_test1.c Update copyright 2001-12-06 14:10:51 +02:00
hp_test2.c - fixed several typos ("uppdate"->"update" and "tryed"->"tried") 2003-09-19 18:34:57 +02:00
hp_update.c New multi-table-update code 2002-11-29 16:40:18 +02:00
hp_write.c New multi-table-update code 2002-11-29 16:40:18 +02:00
make-ccc Import changeset 2000-07-31 21:29:14 +02:00
Makefile.am - Applied required modifications for automake 1.5 2002-10-01 21:57:10 +02:00