mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
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.
This commit is contained in:
7
mysql-test/suite/innodb/r/innodb-bigblob.result
Normal file
7
mysql-test/suite/innodb/r/innodb-bigblob.result
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
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;
|
2
mysql-test/suite/innodb/t/innodb-bigblob.opt
Normal file
2
mysql-test/suite/innodb/t/innodb-bigblob.opt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
--max-allowed-packet=128M
|
||||||
|
--innodb-log-file-size=210M
|
20
mysql-test/suite/innodb/t/innodb-bigblob.test
Normal file
20
mysql-test/suite/innodb/t/innodb-bigblob.test
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
-- 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
|
|||||||
#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
|
|||||||
#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.
|
||||||
|
Reference in New Issue
Block a user