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
1a5ba2a4
Commit
1a5ba2a4
authored
Apr 26, 2019
by
Marko Mäkelä
Browse files
Options
Browse Files
Download
Plain Diff
MDEV-19342 Merge new release of InnoDB 5.7.26 to 10.2
parents
4e9f8c9c
f3a9f12b
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
83 additions
and
7 deletions
+83
-7
mysql-test/suite/gcol/r/innodb_virtual_debug.result
mysql-test/suite/gcol/r/innodb_virtual_debug.result
+30
-0
mysql-test/suite/gcol/t/innodb_virtual_debug.test
mysql-test/suite/gcol/t/innodb_virtual_debug.test
+33
-1
mysql-test/suite/sys_vars/r/sysvars_innodb.result
mysql-test/suite/sys_vars/r/sysvars_innodb.result
+1
-1
storage/innobase/handler/ha_innodb.cc
storage/innobase/handler/ha_innodb.cc
+2
-2
storage/innobase/include/univ.i
storage/innobase/include/univ.i
+1
-1
storage/innobase/os/os0file.cc
storage/innobase/os/os0file.cc
+16
-2
No files found.
mysql-test/suite/gcol/r/innodb_virtual_debug.result
View file @
1a5ba2a4
...
@@ -94,3 +94,33 @@ NULL
...
@@ -94,3 +94,33 @@ NULL
29
29
DROP TABLE t;
DROP TABLE t;
SET DEBUG_SYNC = 'RESET';
SET DEBUG_SYNC = 'RESET';
#
# Bug#28825718 - ASSERTION FAILURE: TRX0REC.CC:NNN:N_IDX > 0 WHILE DOING REPLACE/INSERT
#
CREATE TABLE t1(a INT PRIMARY KEY, b INT, c INT GENERATED ALWAYS AS(b+1) VIRTUAL) ENGINE=InnoDB;
INSERT INTO t1(a, b) VALUES(1, 1);
connect con1,localhost,root,,;
SET DEBUG_SYNC = 'row_log_apply_after SIGNAL s1 WAIT_FOR s2';
SET lock_wait_timeout = 1;
ALTER TABLE t1 ADD UNIQUE INDEX(c, b);
connection default;
SET DEBUG_SYNC = 'now WAIT_FOR s1';
SET DEBUG_SYNC = 'row_ins_sec_index_enter SIGNAL s2 WAIT_FOR s3';
INSERT INTO t1(a, b) VALUES(2, 2);
connection con1;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
SET DEBUG_SYNC = 'now SIGNAL s3';
disconnect con1;
connection default;
SET DEBUG_SYNC = 'RESET';
ALTER TABLE t1 ADD KEY(b);
INSERT INTO t1(a, b) VALUES(3, 3);
SELECT * FROM t1;
a b c
1 1 2
2 2 3
3 3 4
CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check status OK
DROP TABLE t1;
mysql-test/suite/gcol/t/innodb_virtual_debug.test
View file @
1a5ba2a4
...
@@ -60,7 +60,6 @@ SET DEBUG_SYNC = 'innodb_inplace_alter_table_enter SIGNAL start_create WAIT_FOR
...
@@ -60,7 +60,6 @@ SET DEBUG_SYNC = 'innodb_inplace_alter_table_enter SIGNAL start_create WAIT_FOR
--
send
ALTER
TABLE
t
FORCE
--
send
ALTER
TABLE
t
FORCE
connection
con1
;
connection
con1
;
SET
DEBUG_SYNC
=
'now WAIT_FOR start_create'
;
SET
DEBUG_SYNC
=
'now WAIT_FOR start_create'
;
start
transaction
;
start
transaction
;
update
t
set
a
=
1
where
a
=
0
;
update
t
set
a
=
1
where
a
=
0
;
...
@@ -280,4 +279,37 @@ disconnect con1;
...
@@ -280,4 +279,37 @@ disconnect con1;
}
}
SET
DEBUG_SYNC
=
'RESET'
;
SET
DEBUG_SYNC
=
'RESET'
;
--
echo
#
--
echo
# Bug#28825718 - ASSERTION FAILURE: TRX0REC.CC:NNN:N_IDX > 0 WHILE DOING REPLACE/INSERT
--
echo
#
CREATE
TABLE
t1
(
a
INT
PRIMARY
KEY
,
b
INT
,
c
INT
GENERATED
ALWAYS
AS
(
b
+
1
)
VIRTUAL
)
ENGINE
=
InnoDB
;
INSERT
INTO
t1
(
a
,
b
)
VALUES
(
1
,
1
);
connect
(
con1
,
localhost
,
root
,,);
SET
DEBUG_SYNC
=
'row_log_apply_after SIGNAL s1 WAIT_FOR s2'
;
SET
lock_wait_timeout
=
1
;
--
send
ALTER
TABLE
t1
ADD
UNIQUE
INDEX
(
c
,
b
)
connection
default
;
SET
DEBUG_SYNC
=
'now WAIT_FOR s1'
;
SET
DEBUG_SYNC
=
'row_ins_sec_index_enter SIGNAL s2 WAIT_FOR s3'
;
--
send
INSERT
INTO
t1
(
a
,
b
)
VALUES
(
2
,
2
)
connection
con1
;
--
error
ER_LOCK_WAIT_TIMEOUT
reap
;
SET
DEBUG_SYNC
=
'now SIGNAL s3'
;
disconnect
con1
;
connection
default
;
reap
;
SET
DEBUG_SYNC
=
'RESET'
;
ALTER
TABLE
t1
ADD
KEY
(
b
);
INSERT
INTO
t1
(
a
,
b
)
VALUES
(
3
,
3
);
SELECT
*
FROM
t1
;
CHECK
TABLE
t1
;
DROP
TABLE
t1
;
--
source
include
/
wait_until_count_sessions
.
inc
--
source
include
/
wait_until_count_sessions
.
inc
mysql-test/suite/sys_vars/r/sysvars_innodb.result
View file @
1a5ba2a4
...
@@ -3074,7 +3074,7 @@ READ_ONLY NO
...
@@ -3074,7 +3074,7 @@ READ_ONLY NO
COMMAND_LINE_ARGUMENT OPTIONAL
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME INNODB_VERSION
VARIABLE_NAME INNODB_VERSION
SESSION_VALUE NULL
SESSION_VALUE NULL
GLOBAL_VALUE 5.7.2
5
GLOBAL_VALUE 5.7.2
6
GLOBAL_VALUE_ORIGIN COMPILE-TIME
GLOBAL_VALUE_ORIGIN COMPILE-TIME
DEFAULT_VALUE NULL
DEFAULT_VALUE NULL
VARIABLE_SCOPE GLOBAL
VARIABLE_SCOPE GLOBAL
...
...
storage/innobase/handler/ha_innodb.cc
View file @
1a5ba2a4
/*****************************************************************************
/*****************************************************************************
Copyright (c) 2000, 201
8
, Oracle and/or its affiliates. All Rights Reserved.
Copyright (c) 2000, 201
9
, Oracle and/or its affiliates. All Rights Reserved.
Copyright (c) 2008, 2009 Google Inc.
Copyright (c) 2008, 2009 Google Inc.
Copyright (c) 2009, Percona Inc.
Copyright (c) 2009, Percona Inc.
Copyright (c) 2012, Facebook Inc.
Copyright (c) 2012, Facebook Inc.
...
@@ -10977,7 +10977,7 @@ innodb_base_col_setup_for_stored(
...
@@ -10977,7 +10977,7 @@ innodb_base_col_setup_for_stored(
for
(
uint
i
=
0
;
i
<
field
->
table
->
s
->
fields
;
++
i
)
{
for
(
uint
i
=
0
;
i
<
field
->
table
->
s
->
fields
;
++
i
)
{
const
Field
*
base_field
=
field
->
table
->
field
[
i
];
const
Field
*
base_field
=
field
->
table
->
field
[
i
];
if
(
!
base_field
->
vcol_info
if
(
base_field
->
stored_in_db
()
&&
bitmap_is_set
(
&
field
->
table
->
tmp_set
,
i
))
{
&&
bitmap_is_set
(
&
field
->
table
->
tmp_set
,
i
))
{
ulint
z
;
ulint
z
;
for
(
z
=
0
;
z
<
table
->
n_cols
;
z
++
)
{
for
(
z
=
0
;
z
<
table
->
n_cols
;
z
++
)
{
...
...
storage/innobase/include/univ.i
View file @
1a5ba2a4
...
@@ -41,7 +41,7 @@ Created 1/20/1994 Heikki Tuuri
...
@@ -41,7 +41,7 @@ Created 1/20/1994 Heikki Tuuri
#
define
INNODB_VERSION_MAJOR
5
#
define
INNODB_VERSION_MAJOR
5
#
define
INNODB_VERSION_MINOR
7
#
define
INNODB_VERSION_MINOR
7
#
define
INNODB_VERSION_BUGFIX
2
5
#
define
INNODB_VERSION_BUGFIX
2
6
/* The following is the InnoDB version as shown in
/* The following is the InnoDB version as shown in
SELECT plugin_version FROM information_schema.plugins;
SELECT plugin_version FROM information_schema.plugins;
...
...
storage/innobase/os/os0file.cc
View file @
1a5ba2a4
...
@@ -1962,10 +1962,24 @@ LinuxAIOHandler::collect()
...
@@ -1962,10 +1962,24 @@ LinuxAIOHandler::collect()
will be done in the calling function. */
will be done in the calling function. */
m_array
->
acquire
();
m_array
->
acquire
();
slot
->
ret
=
events
[
i
].
res2
;
/* events[i].res2 should always be ZERO */
ut_ad
(
events
[
i
].
res2
==
0
);
slot
->
io_already_done
=
true
;
slot
->
io_already_done
=
true
;
slot
->
n_bytes
=
events
[
i
].
res
;
/*Even though events[i].res is an unsigned number
in libaio, it is used to return a negative value
(negated errno value) to indicate error and a positive
value to indicate number of bytes read or written. */
if
(
events
[
i
].
res
>
slot
->
len
)
{
/* failure */
slot
->
n_bytes
=
0
;
slot
->
ret
=
events
[
i
].
res
;
}
else
{
/* success */
slot
->
n_bytes
=
events
[
i
].
res
;
slot
->
ret
=
0
;
}
m_array
->
release
();
m_array
->
release
();
}
}
...
...
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