Commit a96c8720 authored by Marko Mäkelä's avatar Marko Mäkelä

Bug#13654923 BOGUS DEBUG ASSERTION IN INDEX CREATION FOR ZERO-LENGTH RECORD

row_merge_buf_write(): Relax the bogus assertion.
parent 647abc13
...@@ -114,6 +114,10 @@ t12963823 CREATE TABLE `t12963823` ( ...@@ -114,6 +114,10 @@ t12963823 CREATE TABLE `t12963823` (
KEY `ndx_o` (`o`(500)), KEY `ndx_o` (`o`(500)),
KEY `ndx_p` (`p`(500)) KEY `ndx_p` (`p`(500))
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC ) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
create table t1(a varchar(2) primary key) engine=innodb;
insert into t1 values('');
create index t1a1 on t1(a(1));
drop table t1;
set global innodb_file_per_table=0; set global innodb_file_per_table=0;
set global innodb_file_format=Antelope; set global innodb_file_format=Antelope;
create table t1(a int not null, b int, c char(10) not null, d varchar(20)) engine = innodb; create table t1(a int not null, b int, c char(10) not null, d varchar(20)) engine = innodb;
......
...@@ -119,6 +119,11 @@ show create table t12963823; ...@@ -119,6 +119,11 @@ show create table t12963823;
# this file complete before dropping the table. By then, the purge thread # this file complete before dropping the table. By then, the purge thread
# will have delt with the updates above. # will have delt with the updates above.
# Bug#13654923 BOGUS DEBUG ASSERTION IN INDEX CREATION FOR ZERO-LENGTH RECORD
create table t1(a varchar(2) primary key) engine=innodb;
insert into t1 values('');
create index t1a1 on t1(a(1));
drop table t1;
eval set global innodb_file_per_table=$per_table; eval set global innodb_file_per_table=$per_table;
eval set global innodb_file_format=$format; eval set global innodb_file_format=$format;
......
/***************************************************************************** /*****************************************************************************
Copyright (c) 2005, 2010, Innobase Oy. All Rights Reserved. Copyright (c) 1995, 2012, Oracle and/or its affiliates. All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software the terms of the GNU General Public License as published by the Free Software
...@@ -576,7 +576,7 @@ row_merge_buf_write( ...@@ -576,7 +576,7 @@ row_merge_buf_write(
REC_STATUS_ORDINARY, REC_STATUS_ORDINARY,
entry, n_fields, entry, n_fields,
&extra_size); &extra_size);
ut_ad(size > extra_size); ut_ad(size >= extra_size);
ut_ad(extra_size >= REC_N_NEW_EXTRA_BYTES); ut_ad(extra_size >= REC_N_NEW_EXTRA_BYTES);
extra_size -= REC_N_NEW_EXTRA_BYTES; extra_size -= REC_N_NEW_EXTRA_BYTES;
size -= REC_N_NEW_EXTRA_BYTES; size -= REC_N_NEW_EXTRA_BYTES;
......
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