#
# Tests for the BLACKHOLE storage engine
#

--source include/have_blackhole.inc

--echo #
--echo # Bug #11880012: INDEX_SUBQUERY, BLACKHOLE,
--echo #                HANG IN PREPARING WITH 100% CPU USAGE
--echo #

CREATE TABLE t1(a INT NOT NULL);
INSERT INTO t1 VALUES (1), (2), (3);
CREATE TABLE t2 (a INT UNSIGNED, b INT, UNIQUE KEY (a, b)) ENGINE=BLACKHOLE;

SELECT 1 FROM t1 WHERE a = ANY (SELECT a FROM t2);

DROP TABLE t1, t2;

--echo #
--echo # Bug#19786309 -  CRASH IN UNLOCK TABLES AFTER LOCKING AND TRUNCATING TEMPORARY TABLE.
--echo #
create temporary table t1 (a int) engine=blackhole;
lock table t1 write;
truncate table t1;
select * from t1;
unlock tables;
drop temporary table t1;

--echo # End of 5.5 tests

--echo #
--echo # Bug#13948247 DIVISION BY 0 IN GET_BEST_DISJUNCT_QUICK WITH FORCE INDEX GROUP BY
--echo #

CREATE TABLE t1(a INT, b INT, c INT, KEY(c), UNIQUE(a)) ENGINE = BLACKHOLE;
SELECT 0 FROM t1 FORCE INDEX FOR GROUP BY(a) WHERE a = 0 OR b = 0 AND c = 0;
DROP TABLE t1;

--echo # End of 5.6 tests

--echo #
--echo # MDEV-24017 / bug 53588 test case.
--echo #
# Create long enough index (between 1000 and 3500). 1000 is the old value,
# 3500 is innodb value (see ha_innobase::max_supported_key_length()). Without
# the fix the test will fail with "Specified key was too long" error.
#
CREATE TABLE `t` (
  `a` varchar(3000) NOT NULL default '',
  PRIMARY KEY  (`a`)
) ENGINE=BLACKHOLE CHARSET=latin1;

DROP TABLE `t`;

--echo # End of 10.1 tests

--echo #
--echo # MDEV-35035 Assertion failure in ha_blackhole::position upon INSERT into blackhole table with vector index
--echo #
create table t (a int, v vector(1) not null, vector index (v)) engine=blackhole;
insert into t values (1,x'00000000');
drop table t;

--echo # End of 11.7 tests
