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
_check.c
_rectest.c
ChangeLog
heapdef.h
hp_block.c
hp_clear.c
hp_close.c
hp_create.c
hp_delete.c
hp_extra.c
hp_hash.c
hp_info.c
hp_open.c
hp_panic.c
hp_rename.c
hp_rfirst.c
hp_rkey.c
hp_rlast.c
hp_rnext.c
hp_rprev.c
hp_rrnd.c
hp_rsame.c
hp_scan.c
hp_static.c
hp_test1.c
hp_test2.c
hp_update.c
hp_write.c
make-ccc
Makefile.am