Commit 0563f49b authored by Jan Lindström's avatar Jan Lindström

MDEV-7754: innodb assert "array->n_elems < array->max_elems" on a huge blob update

Replace static array of thread sync levels with std::vector.
parent c41e4d3b
call mtr.add_suppression("Resizing redo log from *");
call mtr.add_suppression("Starting to delete and rewrite log files.");
call mtr.add_suppression("New log files created, LSN=*");
create table foo (id varchar(37) not null, content longblob) engine=INNODB;
insert into foo (id, content) values('xyz', '');
update foo set content=repeat('a', 43941888) where id='xyz';
drop table foo;
--max-allowed-packet=128M
--innodb-log-file-size=210M
-- source include/have_innodb.inc
-- source include/big_test.inc
-- source include/not_embedded.inc
--disable_query_log
let $status_orig=`SELECT @@innodb_status_output`;
--enable_query_log
call mtr.add_suppression("Resizing redo log from *");
call mtr.add_suppression("Starting to delete and rewrite log files.");
call mtr.add_suppression("New log files created, LSN=*");
create table foo (id varchar(37) not null, content longblob) engine=INNODB;
insert into foo (id, content) values('xyz', '');
update foo set content=repeat('a', 43941888) where id='xyz';
drop table foo;
--disable_query_log
EVAL SET GLOBAL innodb_status_output = $status_orig;
--enable_query_log
...@@ -47,6 +47,8 @@ Created 9/5/1995 Heikki Tuuri ...@@ -47,6 +47,8 @@ Created 9/5/1995 Heikki Tuuri
#include "ha_prototypes.h" #include "ha_prototypes.h"
#include "my_cpu.h" #include "my_cpu.h"
#include <vector>
/* There is a bug in Visual Studio 2010. /* There is a bug in Visual Studio 2010.
Visual Studio has a feature "Checked Iterators". In a debug build, every Visual Studio has a feature "Checked Iterators". In a debug build, every
iterator operation is checked at runtime for errors, e.g., out of range. iterator operation is checked at runtime for errors, e.g., out of range.
......
...@@ -48,6 +48,8 @@ Created 9/5/1995 Heikki Tuuri ...@@ -48,6 +48,8 @@ Created 9/5/1995 Heikki Tuuri
#include "ha_prototypes.h" #include "ha_prototypes.h"
#include "my_cpu.h" #include "my_cpu.h"
#include <vector>
/* There is a bug in Visual Studio 2010. /* There is a bug in Visual Studio 2010.
Visual Studio has a feature "Checked Iterators". In a debug build, every Visual Studio has a feature "Checked Iterators". In a debug build, every
iterator operation is checked at runtime for errors, e.g., out of range. iterator operation is checked at runtime for errors, e.g., out of range.
......
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