Commit graph

3 commits

Author SHA1 Message Date
unknown
48d435b16f This patch removes the remaining TYPE= code from MySQL. It cleans up a number of tests where it was being called still (and failing). Also I cleaned up all of the extra scripts so that they now work.
BitKeeper/deleted/.del-raid.test~501e9e00b3c27a55:
  Delete: mysql-test/t/raid.test
mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
  Test change
mysql-test/r/binlog_stm_mix_innodb_myisam.result:
  New results
mysql-test/r/ctype_ujis.result:
  New results
mysql-test/r/innodb_concurrent.result:
  New results.
mysql-test/r/rpl_heap.result:
  New results
mysql-test/r/warnings.result:
  New results
mysql-test/t/ctype_ujis.test:
  Fixed ENGINE=, test should now actually function
mysql-test/t/innodb_concurrent.test:
  Fixed test for engine
mysql-test/t/rpl_heap.test:
  Fixed test for engine
mysql-test/t/system_mysql_db_fix.test:
  Fixed setup.
mysql-test/t/warnings.test:
  Removed deprecated tests
scripts/fill_func_tables.sh:
  Fixed script
scripts/mysql_convert_table_format.sh:
  Fixed script
sql/ha_innodb.cc:
  Fixed comment
sql/sql_yacc.yy:
  Removed deprecated syntax
tests/fork_big.pl:
  Fixed scipt
tests/fork_big2.pl:
  Fixed script
tests/mail_to_db.pl:
  Fixed script
tests/mysql_client_test.c:
  Fixed test
2006-02-12 13:26:30 -08:00
unknown
e7157aba3a (manual port from 4.0 - was needed)
Fix for BUG#4971 "CREATE TABLE ... TYPE=HEAP SELECT ... stops slave (wrong DELETE in binlog)":
replacing the no_log argument of mysql_create_table() by some safer method
(temporarily setting OPTION_BIN_LOG to 0) which guarantees that even the automatic
DELETE FROM heap_table does not get into the binlog when a not-yet-existing HEAP table
is opened by mysql_create_table().


mysql-test/r/rpl_heap.result:
  result update
mysql-test/t/rpl_heap.test:
  changing test to test a bug (but anyway, mysql-test-run --manager looks like not working in 4.1 currently,
  so this test is never run).
sql/log.cc:
  new class Disable_binlog used to temporarily disable binlogging for one thread.
sql/mysql_priv.h:
  removing argument no_log from mysql_create_table(); no_log was not perfect as some
  binlogging could still be done by open_unireg_entry() for a HEAP table.
sql/sql_class.h:
  new class Disable_binlog used to temporarily disable binlogging for one thread.
sql/sql_parse.cc:
  removing no_log arg from mysql_create_table()
sql/sql_table.cc:
  removing no_log from mysql_create_table(); instead using new class Disable_binlog.
  Disabling binlogging in some cases, where the binlogging is done later by some other code
  (case of CREATE SELECT and ALTER).
2004-08-19 23:24:35 +02:00
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