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
e94172c2
Commit
e94172c2
authored
Aug 31, 2021
by
Marko Mäkelä
Browse files
Options
Browse Files
Download
Plain Diff
Merge 10.5 into 10.6
parents
7271cf48
e62120ce
Changes
22
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
106 additions
and
376 deletions
+106
-376
cmake/cpack_rpm.cmake
cmake/cpack_rpm.cmake
+1
-1
extra/mariabackup/xtrabackup.cc
extra/mariabackup/xtrabackup.cc
+1
-1
include/mysql/psi/psi.h
include/mysql/psi/psi.h
+3
-3
include/mysql/psi/psi_abi_v1.h.pp
include/mysql/psi/psi_abi_v1.h.pp
+3
-3
include/pfs_thread_provider.h
include/pfs_thread_provider.h
+3
-3
libmariadb
libmariadb
+1
-1
mysql-test/lib/My/Options.pm
mysql-test/lib/My/Options.pm
+7
-15
mysql-test/lib/mtr_cases.pm
mysql-test/lib/mtr_cases.pm
+4
-2
mysql-test/suite/innodb/r/table_flags,32k,debug.rdiff
mysql-test/suite/innodb/r/table_flags,32k,debug.rdiff
+0
-110
mysql-test/suite/innodb/r/table_flags,32k.rdiff
mysql-test/suite/innodb/r/table_flags,32k.rdiff
+4
-4
mysql-test/suite/innodb/r/table_flags,64k,debug.rdiff
mysql-test/suite/innodb/r/table_flags,64k,debug.rdiff
+0
-110
mysql-test/suite/innodb/r/table_flags,64k.rdiff
mysql-test/suite/innodb/r/table_flags,64k.rdiff
+4
-4
mysql-test/suite/innodb/r/table_flags,debug.rdiff
mysql-test/suite/innodb/r/table_flags,debug.rdiff
+0
-98
mysql-test/suite/sql_sequence/default.result
mysql-test/suite/sql_sequence/default.result
+10
-0
mysql-test/suite/sql_sequence/default.test
mysql-test/suite/sql_sequence/default.test
+12
-0
mysys/psi_noop.c
mysys/psi_noop.c
+3
-3
scripts/mysql_setpermission.sh
scripts/mysql_setpermission.sh
+0
-1
sql/sql_base.cc
sql/sql_base.cc
+15
-5
sql/sql_class.h
sql/sql_class.h
+1
-4
storage/innobase/srv/srv0srv.cc
storage/innobase/srv/srv0srv.cc
+22
-5
storage/perfschema/pfs.cc
storage/perfschema/pfs.cc
+3
-3
storage/rocksdb/CMakeLists.txt
storage/rocksdb/CMakeLists.txt
+9
-0
No files found.
cmake/cpack_rpm.cmake
View file @
e94172c2
...
...
@@ -35,7 +35,7 @@ SET(CPACK_COMPONENTS_ALL Server ManPagesServer IniFiles Server_Scripts
SET
(
CPACK_RPM_PACKAGE_NAME
${
CPACK_PACKAGE_NAME
}
)
SET
(
CPACK_RPM_PACKAGE_VERSION
${
CPACK_PACKAGE_VERSION
}
)
IF
(
CMAKE_VERSION VERSION_LESS
"3.6.0"
)
SET
(
CPACK_PACKAGE_FILE_NAME
"
${
CPACK_RPM_PACKAGE_NAME
}
-
${
CPACK_RPM_PACKAGE
_VERSION
}
-
${
RPM
}
-
${
CMAKE_SYSTEM_PROCESSOR
}
"
)
SET
(
CPACK_PACKAGE_FILE_NAME
"
${
CPACK_RPM_PACKAGE_NAME
}
-
${
SERVER
_VERSION
}
-
${
RPM
}
-
${
CMAKE_SYSTEM_PROCESSOR
}
"
)
ELSE
()
SET
(
CPACK_RPM_FILE_NAME
"RPM-DEFAULT"
)
OPTION
(
CPACK_RPM_DEBUGINFO_PACKAGE
""
ON
)
...
...
extra/mariabackup/xtrabackup.cc
View file @
e94172c2
...
...
@@ -3320,7 +3320,7 @@ static void xb_load_single_table_tablespace(const char *dirname,
delete
file
;
if
(
err
!=
DB_SUCCESS
&&
xtrabackup_backup
&&
!
is_empty_file
)
{
die
(
"Failed to
not
validate first page of the file %s, error %d"
,
name
,
(
int
)
err
);
die
(
"Failed to validate first page of the file %s, error %d"
,
name
,
(
int
)
err
);
}
ut_free
(
name
);
...
...
include/mysql/psi/psi.h
View file @
e94172c2
...
...
@@ -1442,7 +1442,7 @@ typedef void (*register_socket_v1_t)
@return an instrumented mutex
*/
typedef
struct
PSI_mutex
*
(
*
init_mutex_v1_t
)
(
PSI_mutex_key
key
,
const
void
*
identity
);
(
PSI_mutex_key
key
,
void
*
identity
);
/**
Mutex instrumentation destruction API.
...
...
@@ -1457,7 +1457,7 @@ typedef void (*destroy_mutex_v1_t)(struct PSI_mutex *mutex);
@return an instrumented rwlock
*/
typedef
struct
PSI_rwlock
*
(
*
init_rwlock_v1_t
)
(
PSI_rwlock_key
key
,
const
void
*
identity
);
(
PSI_rwlock_key
key
,
void
*
identity
);
/**
Rwlock instrumentation destruction API.
...
...
@@ -1472,7 +1472,7 @@ typedef void (*destroy_rwlock_v1_t)(struct PSI_rwlock *rwlock);
@return an instrumented cond
*/
typedef
struct
PSI_cond
*
(
*
init_cond_v1_t
)
(
PSI_cond_key
key
,
const
void
*
identity
);
(
PSI_cond_key
key
,
void
*
identity
);
/**
Cond instrumentation destruction API.
...
...
include/mysql/psi/psi_abi_v1.h.pp
View file @
e94172c2
...
...
@@ -409,13 +409,13 @@ typedef void (*register_statement_v1_t)
typedef
void
(
*
register_socket_v1_t
)
(
const
char
*
category
,
struct
PSI_socket_info_v1
*
info
,
int
count
);
typedef
struct
PSI_mutex
*
(
*
init_mutex_v1_t
)
(
PSI_mutex_key
key
,
const
void
*
identity
);
(
PSI_mutex_key
key
,
void
*
identity
);
typedef
void
(
*
destroy_mutex_v1_t
)(
struct
PSI_mutex
*
mutex
);
typedef
struct
PSI_rwlock
*
(
*
init_rwlock_v1_t
)
(
PSI_rwlock_key
key
,
const
void
*
identity
);
(
PSI_rwlock_key
key
,
void
*
identity
);
typedef
void
(
*
destroy_rwlock_v1_t
)(
struct
PSI_rwlock
*
rwlock
);
typedef
struct
PSI_cond
*
(
*
init_cond_v1_t
)
(
PSI_cond_key
key
,
const
void
*
identity
);
(
PSI_cond_key
key
,
void
*
identity
);
typedef
void
(
*
destroy_cond_v1_t
)(
struct
PSI_cond
*
cond
);
typedef
struct
PSI_socket
*
(
*
init_socket_v1_t
)
(
PSI_socket_key
key
,
const
my_socket
*
fd
,
...
...
include/pfs_thread_provider.h
View file @
e94172c2
...
...
@@ -52,17 +52,17 @@ void pfs_register_thread_v1(const char *category,
int
count
);
PSI_mutex
*
pfs_init_mutex_v1
(
PSI_mutex_key
key
,
const
void
*
identity
);
pfs_init_mutex_v1
(
PSI_mutex_key
key
,
void
*
identity
);
void
pfs_destroy_mutex_v1
(
PSI_mutex
*
mutex
);
PSI_rwlock
*
pfs_init_rwlock_v1
(
PSI_rwlock_key
key
,
const
void
*
identity
);
pfs_init_rwlock_v1
(
PSI_rwlock_key
key
,
void
*
identity
);
void
pfs_destroy_rwlock_v1
(
PSI_rwlock
*
rwlock
);
PSI_cond
*
pfs_init_cond_v1
(
PSI_cond_key
key
,
const
void
*
identity
);
pfs_init_cond_v1
(
PSI_cond_key
key
,
void
*
identity
);
void
pfs_destroy_cond_v1
(
PSI_cond
*
cond
);
...
...
libmariadb
@
fc25d790
Subproject commit
7cf38704c916996e7b44f62c9e644cc6d001ee91
Subproject commit
fc25d79083ab0b6eb14c71be0439836502d8226a
mysql-test/lib/My/Options.pm
View file @
e94172c2
...
...
@@ -140,24 +140,16 @@ sub diff {
}
sub
is_set
{
my
(
$opts
,
$set_opts
)
=
@_
;
sub
is_subset
{
my
(
$set
,
$subset
)
=
@_
;
my
%
cache
=
map
{
_split_option
(
$_
)
}
@$set
;
foreach
my
$opt
(
@$opts
){
my
(
$opt_name1
,
$value1
)
=
_split_option
(
$opt
);
foreach
my
$set_opt
(
@$set_opts
){
my
(
$opt_name2
,
$value2
)
=
_split_option
(
$set_opt
);
if
(
$opt_name1
eq
$opt_name2
and
$value1
eq
$value2
){
# Option already set
return
1
;
}
}
for
(
@$subset
){
my
(
$name
,
$value
)
=
_split_option
(
$_
);
return
0
unless
exists
$cache
{
$name
}
and
$cache
{
$name
}
eq
$value
;
}
return
0
;
return
1
;
}
...
...
mysql-test/lib/mtr_cases.pm
View file @
e94172c2
...
...
@@ -626,8 +626,10 @@ sub make_combinations($$@)
{
# Skip all other combinations if the values they change
# are already fixed in master_opt or slave_opt
if
(
My::Options::
is_set
(
$test
->
{
master_opt
},
$comb
->
{
comb_opt
})
&&
My::Options::
is_set
(
$test
->
{
slave_opt
},
$comb
->
{
comb_opt
})
){
# (empty combinations are not considered a subset of anything)
if
(
@
{
$comb
->
{
comb_opt
}}
&&
My::Options::
is_subset
(
$test
->
{
master_opt
},
$comb
->
{
comb_opt
})
&&
My::Options::
is_subset
(
$test
->
{
slave_opt
},
$comb
->
{
comb_opt
})
){
$test_combs
->
{
$comb
->
{
name
}}
=
2
;
...
...
mysql-test/suite/innodb/r/table_flags,32k,debug.rdiff
deleted
100644 → 0
View file @
7271cf48
--- suite/innodb/r/table_flags.result
+++ suite/innodb/r/table_flags,32k,debug.reject
@@ -6,6 +6,8 @@
SET innodb_strict_mode=OFF;
CREATE TABLE tz(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=COMPRESSED
KEY_BLOCK_SIZE=1;
+Warnings:
+Warning 1478 InnoDB: Cannot create a COMPRESSED table when innodb_page_size > 16k. Assuming ROW_FORMAT=DYNAMIC.
SET innodb_strict_mode=ON;
CREATE TABLE tp(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC
PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9;
@@ -11,71 +11,71 @@
PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9;
SYS_TABLES clustered index root page (8):
N_RECS=8; LEVEL=0; INDEX_ID=0x0000000000000001
-header=0x01000003008d (NAME=0x696e66696d756d00)
-header=0x0000101500d5 (NAME='SYS_FOREIGN',
+header=0x0100000300de (NAME=0x696e66696d756d00)
+header=0x000018150126 (NAME='SYS_FOREIGN',
DB_TRX_ID=0x000000000000,
DB_ROLL_PTR=0x80000000000000,
- ID=0x000000000000000b,
+ ID=0x000000000000000c,
N_COLS=0x00000004,
TYPE=0x00000001,
MIX_ID=0x0000000000000000,
MIX_LEN=0x00000040,
CLUSTER_NAME=NULL(0 bytes),
SPACE=0x00000000)
-header=0x000018150122 (NAME='SYS_FOREIGN_COLS',
+header=0x000020150173 (NAME='SYS_FOREIGN_COLS',
DB_TRX_ID=0x000000000000,
DB_ROLL_PTR=0x80000000000000,
- ID=0x000000000000000c,
+ ID=0x000000000000000d,
N_COLS=0x00000004,
TYPE=0x00000001,
MIX_ID=0x0000000000000000,
MIX_LEN=0x00000040,
CLUSTER_NAME=NULL(0 bytes),
SPACE=0x00000000)
-header=0x0000201501ae (NAME='SYS_VIRTUAL',
+header=0x0000281501bb (NAME='SYS_VIRTUAL',
DB_TRX_ID=0x000000000000,
DB_ROLL_PTR=0x80000000000000,
- ID=0x000000000000000d,
+ ID=0x000000000000000e,
N_COLS=0x00000003,
TYPE=0x00000001,
MIX_ID=0x0000000000000000,
MIX_LEN=0x00000040,
CLUSTER_NAME=NULL(0 bytes),
SPACE=0x00000000)
-header=0x0400301501f2 (NAME='test/tc',
+header=0x0400301501ff (NAME='test/tc',
DB_TRX_ID=0x000000000000,
DB_ROLL_PTR=0x80000000000000,
- ID=0x000000000000000f,
+ ID=0x0000000000000010,
N_COLS=0x80000001,
TYPE=0x00000001,
MIX_ID=0x0000000000000000,
MIX_LEN=0x00000050,
CLUSTER_NAME=NULL(0 bytes),
SPACE=0x00000002)
-header=0x00003815027a (NAME='test/td',
+header=0x000038150287 (NAME='test/td',
DB_TRX_ID=0x000000000000,
DB_ROLL_PTR=0x80000000000000,
- ID=0x0000000000000010,
+ ID=0x0000000000000011,
N_COLS=0x80000001,
TYPE=0x00000021,
MIX_ID=0x0000000000000000,
MIX_LEN=0x00000050,
CLUSTER_NAME=NULL(0 bytes),
SPACE=0x00000003)
-header=0x00004815016a (NAME='test/tp',
+header=0x00004815008d (NAME='test/tp',
DB_TRX_ID=0x000000000000,
DB_ROLL_PTR=0x80000000000000,
- ID=0x0000000000000012,
+ ID=0x0000000000000013,
N_COLS=0x80000001,
TYPE=0x000009a1,
MIX_ID=0x0000000000000000,
MIX_LEN=0x00000050,
CLUSTER_NAME=NULL(0 bytes),
SPACE=0x00000005)
-header=0x000028150236 (NAME='test/tr',
+header=0x000010150243 (NAME='test/tr',
DB_TRX_ID=0x000000000000,
DB_ROLL_PTR=0x80000000000000,
- ID=0x000000000000000e,
+ ID=0x000000000000000f,
N_COLS=0x00000001,
TYPE=0x00000001,
MIX_ID=0x0000000000000000,
@@ -85,9 +85,9 @@
header=0x000040150074 (NAME='test/tz',
DB_TRX_ID=0x000000000000,
DB_ROLL_PTR=0x80000000000000,
- ID=0x0000000000000011,
+ ID=0x0000000000000012,
N_COLS=0x80000001,
- TYPE=0x00000023,
+ TYPE=0x00000021,
MIX_ID=0x0000000000000000,
MIX_LEN=0x00000050,
CLUSTER_NAME=NULL(0 bytes),
mysql-test/suite/innodb/r/table_flags,32k
,release
.rdiff
→
mysql-test/suite/innodb/r/table_flags,32k.rdiff
View file @
e94172c2
--- suite/innodb/r/table_flags.result
+++ suite/innodb/r/table_flags
,32k
.reject
@@ -
5,6 +5
,8 @@
+++ suite/innodb/r/table_flags.reject
@@ -
6,6 +6
,8 @@
SET innodb_strict_mode=OFF;
CREATE TABLE tz(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=COMPRESSED
KEY_BLOCK_SIZE=1;
...
...
@@ -9,9 +9,9 @@
SET innodb_strict_mode=ON;
CREATE TABLE tp(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC
PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9;
@@ -
103,7 +105
,7 @@
@@ -
87,7 +89
,7 @@
DB_ROLL_PTR=0x80000000000000,
ID=0x000000000000001
3
,
ID=0x000000000000001
1
,
N_COLS=0x80000001,
- TYPE=0x00000023,
+ TYPE=0x00000021,
...
...
mysql-test/suite/innodb/r/table_flags,64k,debug.rdiff
deleted
100644 → 0
View file @
7271cf48
--- suite/innodb/r/table_flags.result
+++ suite/innodb/r/table_flags,64k,debug.reject
@@ -6,6 +6,8 @@
SET innodb_strict_mode=OFF;
CREATE TABLE tz(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=COMPRESSED
KEY_BLOCK_SIZE=1;
+Warnings:
+Warning 1478 InnoDB: Cannot create a COMPRESSED table when innodb_page_size > 16k. Assuming ROW_FORMAT=DYNAMIC.
SET innodb_strict_mode=ON;
CREATE TABLE tp(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC
PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9;
@@ -11,71 +11,71 @@
PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9;
SYS_TABLES clustered index root page (8):
N_RECS=8; LEVEL=0; INDEX_ID=0x0000000000000001
-header=0x01000003008d (NAME=0x696e66696d756d00)
-header=0x0000101500d5 (NAME='SYS_FOREIGN',
+header=0x0100000300de (NAME=0x696e66696d756d00)
+header=0x000018150126 (NAME='SYS_FOREIGN',
DB_TRX_ID=0x000000000000,
DB_ROLL_PTR=0x80000000000000,
- ID=0x000000000000000b,
+ ID=0x000000000000000c,
N_COLS=0x00000004,
TYPE=0x00000001,
MIX_ID=0x0000000000000000,
MIX_LEN=0x00000040,
CLUSTER_NAME=NULL(0 bytes),
SPACE=0x00000000)
-header=0x000018150122 (NAME='SYS_FOREIGN_COLS',
+header=0x000020150173 (NAME='SYS_FOREIGN_COLS',
DB_TRX_ID=0x000000000000,
DB_ROLL_PTR=0x80000000000000,
- ID=0x000000000000000c,
+ ID=0x000000000000000d,
N_COLS=0x00000004,
TYPE=0x00000001,
MIX_ID=0x0000000000000000,
MIX_LEN=0x00000040,
CLUSTER_NAME=NULL(0 bytes),
SPACE=0x00000000)
-header=0x0000201501ae (NAME='SYS_VIRTUAL',
+header=0x0000281501bb (NAME='SYS_VIRTUAL',
DB_TRX_ID=0x000000000000,
DB_ROLL_PTR=0x80000000000000,
- ID=0x000000000000000d,
+ ID=0x000000000000000e,
N_COLS=0x00000003,
TYPE=0x00000001,
MIX_ID=0x0000000000000000,
MIX_LEN=0x00000040,
CLUSTER_NAME=NULL(0 bytes),
SPACE=0x00000000)
-header=0x0400301501f2 (NAME='test/tc',
+header=0x0400301501ff (NAME='test/tc',
DB_TRX_ID=0x000000000000,
DB_ROLL_PTR=0x80000000000000,
- ID=0x000000000000000f,
+ ID=0x0000000000000010,
N_COLS=0x80000001,
TYPE=0x00000001,
MIX_ID=0x0000000000000000,
MIX_LEN=0x00000050,
CLUSTER_NAME=NULL(0 bytes),
SPACE=0x00000002)
-header=0x00003815027a (NAME='test/td',
+header=0x000038150287 (NAME='test/td',
DB_TRX_ID=0x000000000000,
DB_ROLL_PTR=0x80000000000000,
- ID=0x0000000000000010,
+ ID=0x0000000000000011,
N_COLS=0x80000001,
TYPE=0x00000021,
MIX_ID=0x0000000000000000,
MIX_LEN=0x00000050,
CLUSTER_NAME=NULL(0 bytes),
SPACE=0x00000003)
-header=0x00004815016a (NAME='test/tp',
+header=0x00004815008d (NAME='test/tp',
DB_TRX_ID=0x000000000000,
DB_ROLL_PTR=0x80000000000000,
- ID=0x0000000000000012,
+ ID=0x0000000000000013,
N_COLS=0x80000001,
TYPE=0x000009a1,
MIX_ID=0x0000000000000000,
MIX_LEN=0x00000050,
CLUSTER_NAME=NULL(0 bytes),
SPACE=0x00000005)
-header=0x000028150236 (NAME='test/tr',
+header=0x000010150243 (NAME='test/tr',
DB_TRX_ID=0x000000000000,
DB_ROLL_PTR=0x80000000000000,
- ID=0x000000000000000e,
+ ID=0x000000000000000f,
N_COLS=0x00000001,
TYPE=0x00000001,
MIX_ID=0x0000000000000000,
@@ -85,9 +85,9 @@
header=0x000040150074 (NAME='test/tz',
DB_TRX_ID=0x000000000000,
DB_ROLL_PTR=0x80000000000000,
- ID=0x0000000000000011,
+ ID=0x0000000000000012,
N_COLS=0x80000001,
- TYPE=0x00000023,
+ TYPE=0x00000021,
MIX_ID=0x0000000000000000,
MIX_LEN=0x00000050,
CLUSTER_NAME=NULL(0 bytes),
mysql-test/suite/innodb/r/table_flags,64k
,release
.rdiff
→
mysql-test/suite/innodb/r/table_flags,64k.rdiff
View file @
e94172c2
--- suite/innodb/r/table_flags.result
+++ suite/innodb/r/table_flags
,64k
.reject
@@ -
5,6 +5
,8 @@
+++ suite/innodb/r/table_flags.reject
@@ -
6,6 +6
,8 @@
SET innodb_strict_mode=OFF;
CREATE TABLE tz(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=COMPRESSED
KEY_BLOCK_SIZE=1;
...
...
@@ -9,9 +9,9 @@
SET innodb_strict_mode=ON;
CREATE TABLE tp(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC
PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9;
@@ -
103,7 +105
,7 @@
@@ -
87,7 +89
,7 @@
DB_ROLL_PTR=0x80000000000000,
ID=0x000000000000001
3
,
ID=0x000000000000001
1
,
N_COLS=0x80000001,
- TYPE=0x00000023,
+ TYPE=0x00000021,
...
...
mysql-test/suite/innodb/r/table_flags,debug.rdiff
deleted
100644 → 0
View file @
7271cf48
--- suite/innodb/r/table_flags.result
+++ suite/innodb/r/table_flags,debug.reject
@@ -11,71 +11,71 @@
PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9;
SYS_TABLES clustered index root page (8):
N_RECS=8; LEVEL=0; INDEX_ID=0x0000000000000001
-header=0x01000003008d (NAME=0x696e66696d756d00)
-header=0x0000101500d5 (NAME='SYS_FOREIGN',
+header=0x0100000300de (NAME=0x696e66696d756d00)
+header=0x000018150126 (NAME='SYS_FOREIGN',
DB_TRX_ID=0x000000000000,
DB_ROLL_PTR=0x80000000000000,
- ID=0x000000000000000b,
+ ID=0x000000000000000c,
N_COLS=0x00000004,
TYPE=0x00000001,
MIX_ID=0x0000000000000000,
MIX_LEN=0x00000040,
CLUSTER_NAME=NULL(0 bytes),
SPACE=0x00000000)
-header=0x000018150122 (NAME='SYS_FOREIGN_COLS',
+header=0x000020150173 (NAME='SYS_FOREIGN_COLS',
DB_TRX_ID=0x000000000000,
DB_ROLL_PTR=0x80000000000000,
- ID=0x000000000000000c,
+ ID=0x000000000000000d,
N_COLS=0x00000004,
TYPE=0x00000001,
MIX_ID=0x0000000000000000,
MIX_LEN=0x00000040,
CLUSTER_NAME=NULL(0 bytes),
SPACE=0x00000000)
-header=0x0000201501ae (NAME='SYS_VIRTUAL',
+header=0x0000281501bb (NAME='SYS_VIRTUAL',
DB_TRX_ID=0x000000000000,
DB_ROLL_PTR=0x80000000000000,
- ID=0x000000000000000d,
+ ID=0x000000000000000e,
N_COLS=0x00000003,
TYPE=0x00000001,
MIX_ID=0x0000000000000000,
MIX_LEN=0x00000040,
CLUSTER_NAME=NULL(0 bytes),
SPACE=0x00000000)
-header=0x0400301501f2 (NAME='test/tc',
+header=0x0400301501ff (NAME='test/tc',
DB_TRX_ID=0x000000000000,
DB_ROLL_PTR=0x80000000000000,
- ID=0x000000000000000f,
+ ID=0x0000000000000010,
N_COLS=0x80000001,
TYPE=0x00000001,
MIX_ID=0x0000000000000000,
MIX_LEN=0x00000050,
CLUSTER_NAME=NULL(0 bytes),
SPACE=0x00000002)
-header=0x00003815027a (NAME='test/td',
+header=0x000038150287 (NAME='test/td',
DB_TRX_ID=0x000000000000,
DB_ROLL_PTR=0x80000000000000,
- ID=0x0000000000000010,
+ ID=0x0000000000000011,
N_COLS=0x80000001,
TYPE=0x00000021,
MIX_ID=0x0000000000000000,
MIX_LEN=0x00000050,
CLUSTER_NAME=NULL(0 bytes),
SPACE=0x00000003)
-header=0x00004815016a (NAME='test/tp',
+header=0x00004815008d (NAME='test/tp',
DB_TRX_ID=0x000000000000,
DB_ROLL_PTR=0x80000000000000,
- ID=0x0000000000000012,
+ ID=0x0000000000000013,
N_COLS=0x80000001,
TYPE=0x000009a1,
MIX_ID=0x0000000000000000,
MIX_LEN=0x00000050,
CLUSTER_NAME=NULL(0 bytes),
SPACE=0x00000005)
-header=0x000028150236 (NAME='test/tr',
+header=0x000010150243 (NAME='test/tr',
DB_TRX_ID=0x000000000000,
DB_ROLL_PTR=0x80000000000000,
- ID=0x000000000000000e,
+ ID=0x000000000000000f,
N_COLS=0x00000001,
TYPE=0x00000001,
MIX_ID=0x0000000000000000,
@@ -85,7 +85,7 @@
header=0x000040150074 (NAME='test/tz',
DB_TRX_ID=0x000000000000,
DB_ROLL_PTR=0x80000000000000,
- ID=0x0000000000000011,
+ ID=0x0000000000000012,
N_COLS=0x80000001,
TYPE=0x00000023,
MIX_ID=0x0000000000000000,
mysql-test/suite/sql_sequence/default.result
View file @
e94172c2
...
...
@@ -183,3 +183,13 @@ ALTER TABLE t1 add column d int default next value for s_not_exits;
ERROR 42S02: Table 'test.s_not_exits' doesn't exist
drop table t1;
drop sequence s1;
#
# MDEV 22785 Crash with prepared statements and NEXTVAL()
#
CREATE SEQUENCE s;
CREATE TABLE t1 (id int NOT NULL DEFAULT NEXTVAL(s), PRIMARY KEY (id));
PREPARE stmt FROM " INSERT INTO t1 () values ()";
INSERT INTO t1 () values ();
EXECUTE stmt;
DROP TABLE t1;
DROP SEQUENCE s;
mysql-test/suite/sql_sequence/default.test
View file @
e94172c2
...
...
@@ -123,3 +123,15 @@ ALTER TABLE t1 add column c int;
ALTER
TABLE
t1
add
column
d
int
default
next
value
for
s_not_exits
;
drop
table
t1
;
drop
sequence
s1
;
--
echo
#
--
echo
# MDEV 22785 Crash with prepared statements and NEXTVAL()
--
echo
#
CREATE
SEQUENCE
s
;
CREATE
TABLE
t1
(
id
int
NOT
NULL
DEFAULT
NEXTVAL
(
s
),
PRIMARY
KEY
(
id
));
PREPARE
stmt
FROM
" INSERT INTO t1 () values ()"
;
INSERT
INTO
t1
()
values
();
EXECUTE
stmt
;
# Cleanup
DROP
TABLE
t1
;
DROP
SEQUENCE
s
;
mysys/psi_noop.c
View file @
e94172c2
...
...
@@ -86,7 +86,7 @@ static void register_socket_noop(const char *category NNN,
}
static
PSI_mutex
*
init_mutex_noop
(
PSI_mutex_key
key
NNN
,
const
void
*
identity
NNN
)
init_mutex_noop
(
PSI_mutex_key
key
NNN
,
void
*
identity
NNN
)
{
return
NULL
;
}
...
...
@@ -97,7 +97,7 @@ static void destroy_mutex_noop(PSI_mutex* mutex NNN)
}
static
PSI_rwlock
*
init_rwlock_noop
(
PSI_rwlock_key
key
NNN
,
const
void
*
identity
NNN
)
init_rwlock_noop
(
PSI_rwlock_key
key
NNN
,
void
*
identity
NNN
)
{
return
NULL
;
}
...
...
@@ -108,7 +108,7 @@ static void destroy_rwlock_noop(PSI_rwlock* rwlock NNN)
}
static
PSI_cond
*
init_cond_noop
(
PSI_cond_key
key
NNN
,
const
void
*
identity
NNN
)
init_cond_noop
(
PSI_cond_key
key
NNN
,
void
*
identity
NNN
)
{
return
NULL
;
}
...
...
scripts/mysql_setpermission.sh
View file @
e94172c2
...
...
@@ -310,7 +310,6 @@ sub addall {
$sth
=
$dbh
->do
(
"REVOKE ALL ON
$db
.* FROM
\'
$user
\'\@\'
$host
\'
"
)
||
die
$dbh
->errstr
;
}
}
$dbh
->do
(
"FLUSH PRIVILEGES"
)
||
print STDERR
"Can't flush privileges
\n
"
;
print
"Everything is inserted and mysql privileges have been reloaded.
\n\n
"
;
}
...
...
sql/sql_base.cc
View file @
e94172c2
...
...
@@ -4583,13 +4583,13 @@ bool table_already_fk_prelocked(TABLE_LIST *tl, LEX_CSTRING *db,
}
static
bool
internal_table_exists
(
TABLE_LIST
*
global_list
,
const
char
*
table_name
)
static
TABLE_LIST
*
internal_table_exists
(
TABLE_LIST
*
global_list
,
const
char
*
table_name
)
{
do
{
if
(
global_list
->
table_name
.
str
==
table_name
)
return
1
;
return
global_list
;
}
while
((
global_list
=
global_list
->
next_global
));
return
0
;
}
...
...
@@ -4604,13 +4604,23 @@ add_internal_tables(THD *thd, Query_tables_list *prelocking_ctx,
do
{
TABLE_LIST
*
tmp
__attribute__
((
unused
));
DBUG_PRINT
(
"info"
,
(
"table name: %s"
,
tables
->
table_name
.
str
));
/*
Skip table if already in the list. Can happen with prepared statements
*/
if
(
tables
->
next_local
&&
internal_table_exists
(
global_table_list
,
tables
->
table_name
.
str
))
if
((
tmp
=
internal_table_exists
(
global_table_list
,
tables
->
table_name
.
str
)))
{
/*
Use the original value for the next local, used by the
original prepared statement. We cannot trust the original
next_local value as it may have been changed by a previous
statement using the same table.
*/
tables
->
next_local
=
tmp
;
continue
;
}
TABLE_LIST
*
tl
=
(
TABLE_LIST
*
)
thd
->
alloc
(
sizeof
(
TABLE_LIST
));
if
(
!
tl
)
...
...
sql/sql_class.h
View file @
e94172c2
...
...
@@ -4663,11 +4663,8 @@ class THD: public THD_count, /* this must be first */
for any CTE references.
*/
if
(
!
lex
->
with_cte_resolution
)
{
my_message
(
ER_NO_DB_ERROR
,
ER
(
ER_NO_DB_ERROR
),
MYF
(
0
));
return
TRUE
;
}
return
FALSE
;
return
TRUE
;
}
to
->
str
=
strmake
(
db
.
str
,
db
.
length
);
...
...
storage/innobase/srv/srv0srv.cc
View file @
e94172c2
...
...
@@ -1700,10 +1700,13 @@ static bool srv_task_execute()
return
false
;
}
static
void
purge_create_background_thds
(
int
);
std
::
mutex
purge_thread_count_mtx
;
void
srv_update_purge_thread_count
(
uint
n
)
{
std
::
lock_guard
<
std
::
mutex
>
lk
(
purge_thread_count_mtx
);
purge_create_background_thds
(
n
);
srv_n_purge_threads
=
n
;
srv_purge_thread_count_changed
=
1
;
}
...
...
@@ -1797,15 +1800,25 @@ static std::list<THD*> purge_thds;
static
std
::
mutex
purge_thd_mutex
;
extern
void
*
thd_attach_thd
(
THD
*
);
extern
void
thd_detach_thd
(
void
*
);
static
int
n_purge_thds
;
static
THD
*
acquire_thd
(
void
**
ctx
)
/* Ensure that we have at least n background THDs for purge */
static
void
purge_create_background_thds
(
int
n
)
{
THD
*
thd
=
current_thd
;
std
::
unique_lock
<
std
::
mutex
>
lk
(
purge_thd_mutex
);
if
(
purge_thds
.
empty
())
{
THD
*
thd
=
current_thd
;
while
(
n_purge_thds
<
n
)
{
purge_thds
.
push_back
(
innobase_create_background_thd
(
"InnoDB purge worker"
));
set_current_thd
(
thd
)
;
n_purge_thds
++
;
}
set_current_thd
(
thd
);
}
static
THD
*
acquire_thd
(
void
**
ctx
)
{
std
::
unique_lock
<
std
::
mutex
>
lk
(
purge_thd_mutex
);
ut_a
(
!
purge_thds
.
empty
());
THD
*
thd
=
purge_thds
.
front
();
purge_thds
.
pop_front
();
lk
.
unlock
();
...
...
@@ -1903,6 +1916,7 @@ static void purge_coordinator_callback(void*)
void
srv_init_purge_tasks
()
{
purge_create_background_thds
(
srv_n_purge_threads
);
purge_coordinator_timer
=
srv_thread_pool
->
create_timer
(
purge_coordinator_timer_callback
,
nullptr
);
}
...
...
@@ -1913,11 +1927,13 @@ static void srv_shutdown_purge_tasks()
delete
purge_coordinator_timer
;
purge_coordinator_timer
=
nullptr
;
purge_worker_task
.
wait
();
std
::
unique_lock
<
std
::
mutex
>
lk
(
purge_thd_mutex
);
while
(
!
purge_thds
.
empty
())
{
innobase_destroy_background_thd
(
purge_thds
.
front
());
purge_thds
.
pop_front
();
}
n_purge_thds
=
0
;
}
/**********************************************************************//**
...
...
@@ -1958,7 +1974,8 @@ ulint srv_get_task_queue_length()
void
srv_purge_shutdown
()
{
if
(
purge_sys
.
enabled
())
{
srv_update_purge_thread_count
(
innodb_purge_threads_MAX
);
if
(
!
srv_fast_shutdown
)
srv_update_purge_thread_count
(
innodb_purge_threads_MAX
);
while
(
!
srv_purge_should_exit
())
{
ut_a
(
!
purge_sys
.
paused
());
srv_wake_purge_thread_if_not_active
();
...
...
storage/perfschema/pfs.cc
View file @
e94172c2
...
...
@@ -1826,7 +1826,7 @@ void pfs_register_socket_v1(const char *category,
@sa PSI_v1::init_mutex.
*/
PSI_mutex
*
pfs_init_mutex_v1
(
PSI_mutex_key
key
,
const
void
*
identity
)
pfs_init_mutex_v1
(
PSI_mutex_key
key
,
void
*
identity
)
{
INIT_BODY_V1
(
mutex
,
key
,
identity
);
}
...
...
@@ -1849,7 +1849,7 @@ void pfs_destroy_mutex_v1(PSI_mutex* mutex)
@sa PSI_v1::init_rwlock.
*/
PSI_rwlock
*
pfs_init_rwlock_v1
(
PSI_rwlock_key
key
,
const
void
*
identity
)
pfs_init_rwlock_v1
(
PSI_rwlock_key
key
,
void
*
identity
)
{
INIT_BODY_V1
(
rwlock
,
key
,
identity
);
}
...
...
@@ -1872,7 +1872,7 @@ void pfs_destroy_rwlock_v1(PSI_rwlock* rwlock)
@sa PSI_v1::init_cond.
*/
PSI_cond
*
pfs_init_cond_v1
(
PSI_cond_key
key
,
const
void
*
identity
)
pfs_init_cond_v1
(
PSI_cond_key
key
,
void
*
identity
)
{
INIT_BODY_V1
(
cond
,
key
,
identity
);
}
...
...
storage/rocksdb/CMakeLists.txt
View file @
e94172c2
...
...
@@ -47,6 +47,15 @@ IF(MSVC_ARM64)
SKIP_ROCKSDB_PLUGIN
(
"Windows ARM64 not supported"
)
ENDIF
()
#
# Also, disable on ARM64 when not Linux
# Requires submodule update to v6.16.3
# containing commit https://github.com/facebook/rocksdb/commit/ee4bd4780b321ddb5f92a0f4eb956f2a2ebd60dc
#
IF
(
CMAKE_SYSTEM_PROCESSOR MATCHES
"(arm64|aarch64)"
AND NOT CMAKE_SYSTEM_NAME STREQUAL
"Linux"
)
SKIP_ROCKSDB_PLUGIN
(
"ARM64 disabled on all except Linux"
)
ENDIF
()
# This plugin needs recent C++ compilers (it is using C++11 features)
# Skip build for the old compilers
SET
(
CXX11_FLAGS
)
...
...
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