on a BLACKHOLE table
Using INSERT DELAYED on BLACKHOLE tables could lead to server
crash.
This happens because delayed thread wants to upgrade a lock,
but BLACKHOLE tables do not have locks at all.
This patch rejects attempts to use INSERT DELAYED on MERGE
tables.
mysql-test/r/blackhole.result:
A test case for BUG#27998.
mysql-test/t/blackhole.test:
A test case for BUG#27998.
sql/ha_blackhole.h:
Removed HA_CAN_INSERT_DELAYED flag from table_flags().
The insert delayed thread upgrades the lock. Hence it is
incapable to handle BLACKHOLE tables, which do not have
locks at all.
no rows of the blackhold engine (for this engine to be a binlog propagator).
NOTE: blackhole.test currently hangs in 5.0 BUG#10175 so I'll merge without running this test; the
person who fixes the hang will correct the merged blackhole.result or ask me to).
mysql-test/r/blackhole.result:
result update
mysql-test/t/blackhole.test:
checking that statements get into binlog even when they were affecting
no rows of the blackhold engine. So that this engine can serve as
a binlog propagator (A->B->C replication where B has only blackhole tables,
B receives binlog from A, applies it to blackhole tables, writes statements
to its binlog which it sends to C; both A and C have non-blackhole tables). B is just a proxy.
acinclude.m4:
Change in message
mysql-test/r/blackhole.result:
Lowered the number of inserts.
mysql-test/t/blackhole.test:
Lowered the number of inserts.
sql/ha_blackhole.cc:
Added indexes per Serg, correction of indention, added asserts per Serg.
sql/ha_blackhole.h:
Indention fix, added methods for index...
acinclude.m4:
New macro rule for ha_blackhole.
configure.in:
Rule enabling blackhole engine
sql/Makefile.am:
Additions to Makefile for blackhole engine
sql/handler.cc:
Ifdef enable code for blackhole (and message for "what does this thing do").
sql/handler.h:
Flag for storage engine type.
sql/mysql_priv.h:
Added blackhole type.
sql/mysqld.cc:
Updates for building backhole.
sql/set_var.cc:
Show variable for blackhole engine