Skip to content

Commit

Permalink
Merge branch '10.1' into 10.2
Browse files Browse the repository at this point in the history
  • Loading branch information
sanja-byelkin committed Nov 14, 2018
2 parents 01d3e40 + 9e23171 commit 7e75643
Show file tree
Hide file tree
Showing 3 changed files with 62 additions and 1 deletion.
29 changes: 29 additions & 0 deletions mysql-test/r/partition_innodb.result
Original file line number Diff line number Diff line change
Expand Up @@ -901,6 +901,35 @@ ERROR HY000: Table definition has changed, please retry transaction
disconnect con1;
DROP TABLE t1;
#
# MDEV-11167: InnoDB: Warning: using a partial-field key prefix
# in search, results in assertion failure or "Can't find record" error
#
set @save_sql_mode = @@sql_mode;
set sql_mode="";
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
CREATE TABLE t2 (b INT, c INT, KEY(b)) ENGINE=InnoDB PARTITION BY HASH(c) PARTITIONS 2;
CREATE ALGORITHM = MERGE VIEW v AS SELECT a, b FROM t1 STRAIGHT_JOIN t2 WHERE b = 'foo' WITH CHECK OPTION;
INSERT INTO t1 VALUES (1),(2);
INSERT IGNORE INTO t2 VALUES (2,2),('three',3),(4,4);
Warnings:
Warning 1366 Incorrect integer value: 'three' for column 'b' at row 2
UPDATE v SET a = NULL;
Warnings:
Warning 1292 Truncated incorrect DOUBLE value: 'foo'
DROP view v;
DROP TABLE t1, t2;
SET @save_isp=@@innodb_stats_persistent;
SET GLOBAL innodb_stats_persistent= ON;
CREATE TABLE t (f1 INT, f2 INT, KEY(f2)) ENGINE=InnoDB PARTITION BY HASH (f1) PARTITIONS 2;
INSERT IGNORE INTO t VALUES (NULL,0),(NULL,0),(0,21),(4,0),(1,8),(5,66);
CREATE ALGORITHM=MERGE VIEW v AS SELECT t1.* FROM t t1 JOIN t t2 WHERE t1.f1 < t2.f2 WITH LOCAL CHECK OPTION;
UPDATE v SET f2 = NULL;
ERROR 44000: CHECK OPTION failed `test`.`v`
SET GLOBAL innodb_stats_persistent= @save_isp;
DROP view v;
DROP TABLE t;
set sql_mode= @save_sql_mode;
#
# Bug#26390658 RENAMING A PARTITIONED TABLE DOES NOT UPDATE
# MYSQL.INNODB_TABLE_STATS
#
Expand Down
32 changes: 32 additions & 0 deletions mysql-test/t/partition_innodb.test
Original file line number Diff line number Diff line change
Expand Up @@ -992,6 +992,38 @@ SELECT b FROM t1 WHERE b = 0;
--disconnect con1
DROP TABLE t1;

--echo #
--echo # MDEV-11167: InnoDB: Warning: using a partial-field key prefix
--echo # in search, results in assertion failure or "Can't find record" error
--echo #

set @save_sql_mode = @@sql_mode;
set sql_mode="";
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
CREATE TABLE t2 (b INT, c INT, KEY(b)) ENGINE=InnoDB PARTITION BY HASH(c) PARTITIONS 2;
CREATE ALGORITHM = MERGE VIEW v AS SELECT a, b FROM t1 STRAIGHT_JOIN t2 WHERE b = 'foo' WITH CHECK OPTION;

INSERT INTO t1 VALUES (1),(2);
INSERT IGNORE INTO t2 VALUES (2,2),('three',3),(4,4);
UPDATE v SET a = NULL;

DROP view v;
DROP TABLE t1, t2;

SET @save_isp=@@innodb_stats_persistent;
SET GLOBAL innodb_stats_persistent= ON;

CREATE TABLE t (f1 INT, f2 INT, KEY(f2)) ENGINE=InnoDB PARTITION BY HASH (f1) PARTITIONS 2;
INSERT IGNORE INTO t VALUES (NULL,0),(NULL,0),(0,21),(4,0),(1,8),(5,66);
CREATE ALGORITHM=MERGE VIEW v AS SELECT t1.* FROM t t1 JOIN t t2 WHERE t1.f1 < t2.f2 WITH LOCAL CHECK OPTION;
--error ER_VIEW_CHECK_FAILED
UPDATE v SET f2 = NULL;

SET GLOBAL innodb_stats_persistent= @save_isp;
DROP view v;
DROP TABLE t;
set sql_mode= @save_sql_mode;

--echo #
--echo # Bug#26390658 RENAMING A PARTITIONED TABLE DOES NOT UPDATE
--echo # MYSQL.INNODB_TABLE_STATS
Expand Down
2 changes: 1 addition & 1 deletion sql/sql_update.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2360,7 +2360,7 @@ int multi_update::do_updates()
check_opt_it.rewind();
while(TABLE *tbl= check_opt_it++)
{
if ((local_error= tbl->file->ha_rnd_init(1)))
if ((local_error= tbl->file->ha_rnd_init(0)))
{
err_table= tbl;
goto err;
Expand Down

0 comments on commit 7e75643

Please sign in to comment.