Commit 1f3ad6a4 authored by Varun Gupta's avatar Varun Gupta

MDEV-11108: Assertion `uniq_tuple_length_arg <= table->file->max_key_length()'...

MDEV-11108: Assertion `uniq_tuple_length_arg <= table->file->max_key_length()' failed in SJ_TMP_TABLE::create_sj_weedout_tmp_table

Removed the assert from the if clause to the else clause.
parent 45e40892
......@@ -1318,5 +1318,18 @@ id
1
2
drop table t1,t2,t3;
#
# MDEV-11108: Assertion `uniq_tuple_length_arg <= table->file->max_key_length()' failed in SJ_TMP_TABLE::create_sj_weedout_tmp_table
#
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
CREATE TABLE t2 (pk BLOB, b INT, PRIMARY KEY(pk(1000))) ENGINE=InnoDB;
CREATE TABLE t3 (c INT) ENGINE=InnoDB;
CREATE OR REPLACE ALGORITHM=MERGE VIEW v3 AS SELECT * FROM t3;
INSERT INTO t3 VALUES (1),(2),(3),(4),(5),(6),(7),(8);
SELECT * FROM t1, t2
WHERE a IN ( SELECT b FROM t2 LEFT JOIN v3 ON ( c = b ) ) ;
a pk b
DROP TABLE t1,t2,t3;
DROP VIEW v3;
# This must be the last in the file:
set optimizer_switch=@subselect_sj2_tmp;
......@@ -1449,5 +1449,20 @@ SELECT * FROM t1 WHERE t1.id IN (
drop table t1,t2,t3;
--echo #
--echo # MDEV-11108: Assertion `uniq_tuple_length_arg <= table->file->max_key_length()' failed in SJ_TMP_TABLE::create_sj_weedout_tmp_table
--echo #
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
CREATE TABLE t2 (pk BLOB, b INT, PRIMARY KEY(pk(1000))) ENGINE=InnoDB;
CREATE TABLE t3 (c INT) ENGINE=InnoDB;
CREATE OR REPLACE ALGORITHM=MERGE VIEW v3 AS SELECT * FROM t3;
INSERT INTO t3 VALUES (1),(2),(3),(4),(5),(6),(7),(8);
SELECT * FROM t1, t2
WHERE a IN ( SELECT b FROM t2 LEFT JOIN v3 ON ( c = b ) ) ;
DROP TABLE t1,t2,t3;
DROP VIEW v3;
--echo # This must be the last in the file:
set optimizer_switch=@subselect_sj2_tmp;
......@@ -4053,13 +4053,13 @@ SJ_TMP_TABLE::create_sj_weedout_tmp_table(THD *thd)
share->db_plugin= ha_lock_engine(0, TMP_ENGINE_HTON);
table->file= get_new_handler(share, &table->mem_root,
share->db_type());
DBUG_ASSERT(uniq_tuple_length_arg <= table->file->max_key_length());
}
else
{
share->db_plugin= ha_lock_engine(0, heap_hton);
table->file= get_new_handler(share, &table->mem_root,
share->db_type());
DBUG_ASSERT(uniq_tuple_length_arg <= table->file->max_key_length());
}
if (!table->file)
goto err;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment