Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
f7646d89
Commit
f7646d89
authored
Oct 20, 2023
by
Nikita Malyavin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
main.alter_table_online_debug: remove explicit innodb
parent
23f9e342
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
41 additions
and
34 deletions
+41
-34
mysql-test/main/alter_table_online_debug.result
mysql-test/main/alter_table_online_debug.result
+21
-18
mysql-test/main/alter_table_online_debug.test
mysql-test/main/alter_table_online_debug.test
+20
-16
No files found.
mysql-test/main/alter_table_online_debug.result
View file @
f7646d89
set global default_storage_engine= innodb;
set default_storage_engine= innodb;
connect con2, localhost, root,,;
connection default;
...
...
@@ -289,7 +290,7 @@ set debug_sync= 'alter_table_copy_end SIGNAL ended WAIT_FOR end';
alter table t1 add b int NULL, algorithm= copy, lock= none;
connection con2;
insert into t1 values (1),(2),(3),(4),(5),(6);
ERROR 23000: Duplicate entry '5' for key 'PRIMARY'
Got one of the listed errors
select * from t1;
a
1
...
...
@@ -496,6 +497,7 @@ a b UNIX_TIMESTAMP(row_start) UNIX_TIMESTAMP(row_end)
6 77 1.000000 2147483647.999999
alter table t1 drop system versioning, algorithm= copy, lock= none;
ERROR 0A000: LOCK=NONE is not supported. Reason: DROP SYSTEM VERSIONING. Try LOCK=SHARED
drop table t1;
#
# Test ROLLBACK TO SAVEPOINT
#
...
...
@@ -582,7 +584,7 @@ set debug_sync= 'reset';
drop table t1;
drop table t2;
drop table t3;
create table t1 (a char(6), b int)
engine=innodb
;
create table t1 (a char(6), b int);
insert t1 values ('abcde1',1),('abcde2',2);
set debug_sync= 'now wait_for downgraded';
connection con2;
...
...
@@ -838,7 +840,7 @@ a b
drop table t1;
set debug_sync= 'reset';
## CHECK, UPDATE
create table t1 (a int)
engine=innodb
;
create table t1 (a int);
insert t1 values (1),(2),(3),(4);
set debug_sync= 'now wait_for downgraded';
connection con2;
...
...
@@ -863,7 +865,7 @@ a
14
drop table t1;
## DEFAULT, UPDATE
create table t1 (a int)
engine=innodb
;
create table t1 (a int);
insert t1 values (1),(2),(3),(4);
set debug_sync= 'now wait_for downgraded';
connection con2;
...
...
@@ -892,7 +894,7 @@ a b
drop table t1;
set debug_sync= 'reset';
## VCOL + CHECK
create table t1 (a int)
engine=innodb
;
create table t1 (a int);
insert t1 values (1),(2),(3),(4);
set debug_sync= 'now wait_for downgraded';
connection con2;
...
...
@@ -939,8 +941,8 @@ connection default;
drop table t1;
set debug_sync= reset;
###
create table t1 (a text, unique(a))
engine=innodb
;
create table t2 (b text, unique(b))
engine=innodb
;
create table t1 (a text, unique(a));
create table t2 (b text, unique(b));
insert into t2 values (null),(null);
set debug_sync= 'now wait_for downgraded';
connection con2;
...
...
@@ -958,7 +960,7 @@ set debug_sync= reset;
#
# MDEV-29038 XA assertions failing in binlog_rollback and binlog_commit
#
create table t (a int)
engine=innodb
;
create table t (a int);
insert into t values (1);
xa begin 'xid';
set debug_sync= 'now wait_for downgraded';
...
...
@@ -1303,7 +1305,7 @@ drop table t;
# Test that correct fields are marked as explicit:
# Drop a, reorder b, add new column with default.
#
create table t (a int primary key, b int)
engine=innodb
;
create table t (a int primary key, b int);
insert into t values (1, 1), (2, 2), (3, 3);
set debug_sync= "alter_table_copy_end signal copy wait_for goon";
alter table t drop primary key, drop a,
...
...
@@ -1334,7 +1336,7 @@ c x
3 123456
drop table t;
# Test that all the fields are unpacked.
create table t (a int, b int)
engine=innodb
;
create table t (a int, b int);
insert into t values (NULL, 123), (NULL, 456);
set debug_sync= "alter_table_copy_end signal copy wait_for goon";
alter table t drop a, add primary key(b), algorithm=copy;
...
...
@@ -1464,7 +1466,7 @@ INSERT iso_levels VALUES (0, "READ UNCOMMITTED"),
(1, "READ COMMITTED"),
(2, "REPEATABLE READ"),
(3, "SERIALIZABLE");
create table t1 (a int, b int, key(b))
engine=innodb
;
create table t1 (a int, b int, key(b));
connection con2;
insert into t1 values (1,1),(null,null),(3,3),(4,null),(null,5);
connection default;
...
...
@@ -1477,7 +1479,7 @@ delete from t1 where b is null;
set debug_sync= "now signal goalters";
connection default;
drop table t1;
create table t1 (a int, b int, key(b))
engine=innodb
;
create table t1 (a int, b int, key(b));
connection con2;
insert into t1 values (1,1),(null,null),(3,3),(4,null),(null,5);
connection default;
...
...
@@ -1490,7 +1492,7 @@ delete from t1 where b is null;
set debug_sync= "now signal goalters";
connection default;
drop table t1;
create table t1 (a int, b int, key(b))
engine=innodb
;
create table t1 (a int, b int, key(b));
connection con2;
insert into t1 values (1,1),(null,null),(3,3),(4,null),(null,5);
connection default;
...
...
@@ -1503,7 +1505,7 @@ delete from t1 where b is null;
set debug_sync= "now signal goalters";
connection default;
drop table t1;
create table t1 (a int, b int, key(b))
engine=innodb
;
create table t1 (a int, b int, key(b));
connection con2;
insert into t1 values (1,1),(null,null),(3,3),(4,null),(null,5);
connection default;
...
...
@@ -1520,8 +1522,8 @@ set debug_sync= reset;
drop table iso_levels;
# MDEV-32126 Assertion fails upon online ALTER and binary log enabled
create temporary table tmp (id int, primary key(id)) engine=innodb;
create table t1 (a int, b text)
engine=innodb
;
create table t2 (a int, b int, c char(8), d text, unique(a))
engine=innodb
;
create table t1 (a int, b text);
create table t2 (a int, b int, c char(8), d text, unique(a));
insert into t2 values (1,1,'f','e'),(1000,1000,'c','b');
connection default;
set debug_sync= 'alter_table_online_before_lock signal go_trx wait_for go_alter';
...
...
@@ -1540,7 +1542,7 @@ truncate t2;
set @@binlog_format=mixed;
connection con2;
start transaction;
create temporary table tmp (id int, primary key(id))
engine=innodb
;
create temporary table tmp (id int, primary key(id));
insert into t1 values (1, repeat('x',8000)),(2, repeat('x',8000));
update t2 set b = null order by b limit 2;
insert into t1 values (3, repeat('x',8000));
...
...
@@ -1564,7 +1566,7 @@ drop table t1, t2;
set @@binlog_format=default;
set debug_sync= reset;
# MDEV-32444 Data from orphaned XA transaction is lost after online alter
create table t (a int primary key)
engine=innodb
;
create table t (a int primary key);
insert into t values (1);
# XA commit
set debug_sync= 'alter_table_online_downgraded signal downgraded wait_for go';
...
...
@@ -1673,6 +1675,7 @@ connect con1, localhost, root,,;
connection default;
drop table t;
set debug_sync= reset;
set global default_storage_engine= MyISAM;
disconnect con1;
disconnect con2;
#
...
...
mysql-test/main/alter_table_online_debug.test
View file @
f7646d89
...
...
@@ -4,8 +4,10 @@
--
source
include
/
have_innodb
.
inc
--
source
include
/
have_sequence
.
inc
--
source
include
/
have_partition
.
inc
set
default_storage_engine
=
innodb
;
let
$default_storage_engine
=
`select @@global.default_storage_engine`
;
set
global
default_storage_engine
=
innodb
;
set
default_storage_engine
=
innodb
;
--
connect
(
con2
,
localhost
,
root
,,)
--
connection
default
...
...
@@ -368,7 +370,7 @@ alter table t1 add b int NULL, algorithm= copy, lock= none;
--
connection
con2
--
reap
--
error
ER_DUP_ENTRY
--
error
ER_DUP_ENTRY
,
ER_DUP_KEY
insert
into
t1
values
(
1
),(
2
),(
3
),(
4
),(
5
),(
6
);
select
*
from
t1
;
set
debug_sync
=
'now SIGNAL end'
;
...
...
@@ -629,6 +631,7 @@ alter table t1 drop system versioning, algorithm= copy, lock= none;
#--reap
#show create table t1;
#select * from t1;
drop
table
t1
;
--
echo
#
--
echo
# Test ROLLBACK TO SAVEPOINT
...
...
@@ -730,7 +733,7 @@ drop table t3;
#
# Lossy alter, Update_row_log_event cannot find 'abcde2' in the new table
#
create
table
t1
(
a
char
(
6
),
b
int
)
engine
=
innodb
;
create
table
t1
(
a
char
(
6
),
b
int
);
insert
t1
values
(
'abcde1'
,
1
),(
'abcde2'
,
2
);
--
send
set
debug_sync
=
'now wait_for downgraded'
--
connection
con2
...
...
@@ -1007,7 +1010,7 @@ drop table t1;
set
debug_sync
=
'reset'
;
--
echo
## CHECK, UPDATE
create
table
t1
(
a
int
)
engine
=
innodb
;
create
table
t1
(
a
int
);
insert
t1
values
(
1
),(
2
),(
3
),(
4
);
--
send
set
debug_sync
=
'now wait_for downgraded'
--
connection
con2
...
...
@@ -1026,7 +1029,7 @@ select * from t1;
drop
table
t1
;
--
echo
## DEFAULT, UPDATE
create
table
t1
(
a
int
)
engine
=
innodb
;
create
table
t1
(
a
int
);
insert
t1
values
(
1
),(
2
),(
3
),(
4
);
--
send
set
debug_sync
=
'now wait_for downgraded'
--
connection
con2
...
...
@@ -1048,7 +1051,7 @@ drop table t1;
set
debug_sync
=
'reset'
;
--
echo
## VCOL + CHECK
create
table
t1
(
a
int
)
engine
=
innodb
;
create
table
t1
(
a
int
);
insert
t1
values
(
1
),(
2
),(
3
),(
4
);
--
send
set
debug_sync
=
'now wait_for downgraded'
--
connection
con2
...
...
@@ -1097,8 +1100,8 @@ set debug_sync= reset;
--
echo
###
create
table
t1
(
a
text
,
unique
(
a
))
engine
=
innodb
;
create
table
t2
(
b
text
,
unique
(
b
))
engine
=
innodb
;
create
table
t1
(
a
text
,
unique
(
a
));
create
table
t2
(
b
text
,
unique
(
b
));
insert
into
t2
values
(
null
),(
null
);
--
send
set
debug_sync
=
'now wait_for downgraded'
;
...
...
@@ -1126,7 +1129,7 @@ set debug_sync= reset;
--
echo
#
--
echo
# MDEV-29038 XA assertions failing in binlog_rollback and binlog_commit
--
echo
#
create
table
t
(
a
int
)
engine
=
innodb
;
create
table
t
(
a
int
);
insert
into
t
values
(
1
);
xa
begin
'xid'
;
--
send
...
...
@@ -1513,7 +1516,7 @@ drop table t;
--
echo
# Test that correct fields are marked as explicit:
--
echo
# Drop a, reorder b, add new column with default.
--
echo
#
create
table
t
(
a
int
primary
key
,
b
int
)
engine
=
innodb
;
create
table
t
(
a
int
primary
key
,
b
int
);
insert
into
t
values
(
1
,
1
),
(
2
,
2
),
(
3
,
3
);
set
debug_sync
=
"alter_table_copy_end signal copy wait_for goon"
;
...
...
@@ -1539,7 +1542,7 @@ select * from t;
drop
table
t
;
--
echo
# Test that all the fields are unpacked.
create
table
t
(
a
int
,
b
int
)
engine
=
innodb
;
create
table
t
(
a
int
,
b
int
);
insert
into
t
values
(
NULL
,
123
),
(
NULL
,
456
);
set
debug_sync
=
"alter_table_copy_end signal copy wait_for goon"
;
...
...
@@ -1711,7 +1714,7 @@ while($tx_iso_id) {
dec
$tx_iso_id
;
let
tx_iso
=
`select level from iso_levels where id = $tx_iso_id`
;
create
table
t1
(
a
int
,
b
int
,
key
(
b
))
engine
=
innodb
;
create
table
t1
(
a
int
,
b
int
,
key
(
b
));
--
connection
con2
insert
into
t1
values
(
1
,
1
),(
null
,
null
),(
3
,
3
),(
4
,
null
),(
null
,
5
);
...
...
@@ -1738,8 +1741,8 @@ drop table iso_levels;
--
echo
# MDEV-32126 Assertion fails upon online ALTER and binary log enabled
create
temporary
table
tmp
(
id
int
,
primary
key
(
id
))
engine
=
innodb
;
create
table
t1
(
a
int
,
b
text
)
engine
=
innodb
;
create
table
t2
(
a
int
,
b
int
,
c
char
(
8
),
d
text
,
unique
(
a
))
engine
=
innodb
;
create
table
t1
(
a
int
,
b
text
);
create
table
t2
(
a
int
,
b
int
,
c
char
(
8
),
d
text
,
unique
(
a
));
insert
into
t2
values
(
1
,
1
,
'f'
,
'e'
),(
1000
,
1000
,
'c'
,
'b'
);
--
connection
default
set
debug_sync
=
'alter_table_online_before_lock signal go_trx wait_for go_alter'
;
...
...
@@ -1760,7 +1763,7 @@ truncate t2;
set
@@
binlog_format
=
mixed
;
--
connection
con2
start
transaction
;
create
temporary
table
tmp
(
id
int
,
primary
key
(
id
))
engine
=
innodb
;
create
temporary
table
tmp
(
id
int
,
primary
key
(
id
));
insert
into
t1
values
(
1
,
repeat
(
'x'
,
8000
)),(
2
,
repeat
(
'x'
,
8000
));
update
t2
set
b
=
null
order
by
b
limit
2
;
insert
into
t1
values
(
3
,
repeat
(
'x'
,
8000
));
...
...
@@ -1793,7 +1796,7 @@ set debug_sync= reset;
--
echo
# MDEV-32444 Data from orphaned XA transaction is lost after online alter
create
table
t
(
a
int
primary
key
)
engine
=
innodb
;
create
table
t
(
a
int
primary
key
);
insert
into
t
values
(
1
);
--
echo
# XA commit
...
...
@@ -1919,6 +1922,7 @@ select * from t;
--
connection
default
drop
table
t
;
set
debug_sync
=
reset
;
eval
set
global
default_storage_engine
=
$default_storage_engine
;
--
disconnect
con1
--
disconnect
con2
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment