mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge 10.5 into 10.6
This commit is contained in:
@ -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_NAME ${CPACK_PACKAGE_NAME})
|
||||||
SET(CPACK_RPM_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION})
|
SET(CPACK_RPM_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION})
|
||||||
IF(CMAKE_VERSION VERSION_LESS "3.6.0")
|
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()
|
ELSE()
|
||||||
SET(CPACK_RPM_FILE_NAME "RPM-DEFAULT")
|
SET(CPACK_RPM_FILE_NAME "RPM-DEFAULT")
|
||||||
OPTION(CPACK_RPM_DEBUGINFO_PACKAGE "" ON)
|
OPTION(CPACK_RPM_DEBUGINFO_PACKAGE "" ON)
|
||||||
|
@ -3320,7 +3320,7 @@ static void xb_load_single_table_tablespace(const char *dirname,
|
|||||||
delete file;
|
delete file;
|
||||||
|
|
||||||
if (err != DB_SUCCESS && xtrabackup_backup && !is_empty_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);
|
ut_free(name);
|
||||||
|
@ -1442,7 +1442,7 @@ typedef void (*register_socket_v1_t)
|
|||||||
@return an instrumented mutex
|
@return an instrumented mutex
|
||||||
*/
|
*/
|
||||||
typedef struct PSI_mutex* (*init_mutex_v1_t)
|
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.
|
Mutex instrumentation destruction API.
|
||||||
@ -1457,7 +1457,7 @@ typedef void (*destroy_mutex_v1_t)(struct PSI_mutex *mutex);
|
|||||||
@return an instrumented rwlock
|
@return an instrumented rwlock
|
||||||
*/
|
*/
|
||||||
typedef struct PSI_rwlock* (*init_rwlock_v1_t)
|
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.
|
Rwlock instrumentation destruction API.
|
||||||
@ -1472,7 +1472,7 @@ typedef void (*destroy_rwlock_v1_t)(struct PSI_rwlock *rwlock);
|
|||||||
@return an instrumented cond
|
@return an instrumented cond
|
||||||
*/
|
*/
|
||||||
typedef struct PSI_cond* (*init_cond_v1_t)
|
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.
|
Cond instrumentation destruction API.
|
||||||
|
@ -409,13 +409,13 @@ typedef void (*register_statement_v1_t)
|
|||||||
typedef void (*register_socket_v1_t)
|
typedef void (*register_socket_v1_t)
|
||||||
(const char *category, struct PSI_socket_info_v1 *info, int count);
|
(const char *category, struct PSI_socket_info_v1 *info, int count);
|
||||||
typedef struct PSI_mutex* (*init_mutex_v1_t)
|
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 void (*destroy_mutex_v1_t)(struct PSI_mutex *mutex);
|
||||||
typedef struct PSI_rwlock* (*init_rwlock_v1_t)
|
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 void (*destroy_rwlock_v1_t)(struct PSI_rwlock *rwlock);
|
||||||
typedef struct PSI_cond* (*init_cond_v1_t)
|
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 void (*destroy_cond_v1_t)(struct PSI_cond *cond);
|
||||||
typedef struct PSI_socket* (*init_socket_v1_t)
|
typedef struct PSI_socket* (*init_socket_v1_t)
|
||||||
(PSI_socket_key key, const my_socket *fd,
|
(PSI_socket_key key, const my_socket *fd,
|
||||||
|
@ -52,17 +52,17 @@ void pfs_register_thread_v1(const char *category,
|
|||||||
int count);
|
int count);
|
||||||
|
|
||||||
PSI_mutex*
|
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);
|
void pfs_destroy_mutex_v1(PSI_mutex* mutex);
|
||||||
|
|
||||||
PSI_rwlock*
|
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);
|
void pfs_destroy_rwlock_v1(PSI_rwlock* rwlock);
|
||||||
|
|
||||||
PSI_cond*
|
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);
|
void pfs_destroy_cond_v1(PSI_cond* cond);
|
||||||
|
|
||||||
|
Submodule libmariadb updated: 7cf38704c9...fc25d79083
@ -140,24 +140,16 @@ sub diff {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
sub is_set {
|
sub is_subset {
|
||||||
my ($opts, $set_opts)= @_;
|
my ($set, $subset)= @_;
|
||||||
|
my %cache = map { _split_option($_) } @$set;
|
||||||
|
|
||||||
foreach my $opt (@$opts){
|
for (@$subset){
|
||||||
|
my ($name, $value)= _split_option($_);
|
||||||
my ($opt_name1, $value1)= _split_option($opt);
|
return 0 unless exists $cache{$name} and $cache{$name} eq $value;
|
||||||
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -626,8 +626,10 @@ sub make_combinations($$@)
|
|||||||
{
|
{
|
||||||
# Skip all other combinations if the values they change
|
# Skip all other combinations if the values they change
|
||||||
# are already fixed in master_opt or slave_opt
|
# are already fixed in master_opt or slave_opt
|
||||||
if (My::Options::is_set($test->{master_opt}, $comb->{comb_opt}) &&
|
# (empty combinations are not considered a subset of anything)
|
||||||
My::Options::is_set($test->{slave_opt}, $comb->{comb_opt}) ){
|
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;
|
$test_combs->{$comb->{name}} = 2;
|
||||||
|
|
||||||
|
@ -1,110 +0,0 @@
|
|||||||
--- 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),
|
|
@ -1,6 +1,6 @@
|
|||||||
--- suite/innodb/r/table_flags.result
|
--- suite/innodb/r/table_flags.result
|
||||||
+++ suite/innodb/r/table_flags,32k.reject
|
+++ suite/innodb/r/table_flags.reject
|
||||||
@@ -5,6 +5,8 @@
|
@@ -6,6 +6,8 @@
|
||||||
SET innodb_strict_mode=OFF;
|
SET innodb_strict_mode=OFF;
|
||||||
CREATE TABLE tz(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=COMPRESSED
|
CREATE TABLE tz(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=COMPRESSED
|
||||||
KEY_BLOCK_SIZE=1;
|
KEY_BLOCK_SIZE=1;
|
||||||
@ -9,9 +9,9 @@
|
|||||||
SET innodb_strict_mode=ON;
|
SET innodb_strict_mode=ON;
|
||||||
CREATE TABLE tp(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC
|
CREATE TABLE tp(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC
|
||||||
PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9;
|
PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9;
|
||||||
@@ -103,7 +105,7 @@
|
@@ -87,7 +89,7 @@
|
||||||
DB_ROLL_PTR=0x80000000000000,
|
DB_ROLL_PTR=0x80000000000000,
|
||||||
ID=0x0000000000000013,
|
ID=0x0000000000000011,
|
||||||
N_COLS=0x80000001,
|
N_COLS=0x80000001,
|
||||||
- TYPE=0x00000023,
|
- TYPE=0x00000023,
|
||||||
+ TYPE=0x00000021,
|
+ TYPE=0x00000021,
|
@ -1,110 +0,0 @@
|
|||||||
--- 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),
|
|
@ -1,6 +1,6 @@
|
|||||||
--- suite/innodb/r/table_flags.result
|
--- suite/innodb/r/table_flags.result
|
||||||
+++ suite/innodb/r/table_flags,64k.reject
|
+++ suite/innodb/r/table_flags.reject
|
||||||
@@ -5,6 +5,8 @@
|
@@ -6,6 +6,8 @@
|
||||||
SET innodb_strict_mode=OFF;
|
SET innodb_strict_mode=OFF;
|
||||||
CREATE TABLE tz(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=COMPRESSED
|
CREATE TABLE tz(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=COMPRESSED
|
||||||
KEY_BLOCK_SIZE=1;
|
KEY_BLOCK_SIZE=1;
|
||||||
@ -9,9 +9,9 @@
|
|||||||
SET innodb_strict_mode=ON;
|
SET innodb_strict_mode=ON;
|
||||||
CREATE TABLE tp(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC
|
CREATE TABLE tp(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC
|
||||||
PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9;
|
PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9;
|
||||||
@@ -103,7 +105,7 @@
|
@@ -87,7 +89,7 @@
|
||||||
DB_ROLL_PTR=0x80000000000000,
|
DB_ROLL_PTR=0x80000000000000,
|
||||||
ID=0x0000000000000013,
|
ID=0x0000000000000011,
|
||||||
N_COLS=0x80000001,
|
N_COLS=0x80000001,
|
||||||
- TYPE=0x00000023,
|
- TYPE=0x00000023,
|
||||||
+ TYPE=0x00000021,
|
+ TYPE=0x00000021,
|
@ -1,98 +0,0 @@
|
|||||||
--- 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,
|
|
@ -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
|
ERROR 42S02: Table 'test.s_not_exits' doesn't exist
|
||||||
drop table t1;
|
drop table t1;
|
||||||
drop sequence s1;
|
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;
|
||||||
|
@ -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;
|
ALTER TABLE t1 add column d int default next value for s_not_exits;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
drop sequence s1;
|
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;
|
||||||
|
@ -86,7 +86,7 @@ static void register_socket_noop(const char *category NNN,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static PSI_mutex*
|
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;
|
return NULL;
|
||||||
}
|
}
|
||||||
@ -97,7 +97,7 @@ static void destroy_mutex_noop(PSI_mutex* mutex NNN)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static PSI_rwlock*
|
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;
|
return NULL;
|
||||||
}
|
}
|
||||||
@ -108,7 +108,7 @@ static void destroy_rwlock_noop(PSI_rwlock* rwlock NNN)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static PSI_cond*
|
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;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -310,7 +310,6 @@ sub addall {
|
|||||||
$sth = $dbh->do("REVOKE ALL ON $db.* FROM \'$user\'\@\'$host\'") || die $dbh->errstr;
|
$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";
|
print "Everything is inserted and mysql privileges have been reloaded.\n\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4583,13 +4583,13 @@ bool table_already_fk_prelocked(TABLE_LIST *tl, LEX_CSTRING *db,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static bool internal_table_exists(TABLE_LIST *global_list,
|
static TABLE_LIST *internal_table_exists(TABLE_LIST *global_list,
|
||||||
const char *table_name)
|
const char *table_name)
|
||||||
{
|
{
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
if (global_list->table_name.str == table_name)
|
if (global_list->table_name.str == table_name)
|
||||||
return 1;
|
return global_list;
|
||||||
} while ((global_list= global_list->next_global));
|
} while ((global_list= global_list->next_global));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -4604,13 +4604,23 @@ add_internal_tables(THD *thd, Query_tables_list *prelocking_ctx,
|
|||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
|
TABLE_LIST *tmp __attribute__((unused));
|
||||||
DBUG_PRINT("info", ("table name: %s", tables->table_name.str));
|
DBUG_PRINT("info", ("table name: %s", tables->table_name.str));
|
||||||
/*
|
/*
|
||||||
Skip table if already in the list. Can happen with prepared statements
|
Skip table if already in the list. Can happen with prepared statements
|
||||||
*/
|
*/
|
||||||
if (tables->next_local &&
|
if ((tmp= internal_table_exists(global_table_list,
|
||||||
internal_table_exists(global_table_list, tables->table_name.str))
|
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;
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
TABLE_LIST *tl= (TABLE_LIST *) thd->alloc(sizeof(TABLE_LIST));
|
TABLE_LIST *tl= (TABLE_LIST *) thd->alloc(sizeof(TABLE_LIST));
|
||||||
if (!tl)
|
if (!tl)
|
||||||
|
@ -4663,11 +4663,8 @@ public:
|
|||||||
for any CTE references.
|
for any CTE references.
|
||||||
*/
|
*/
|
||||||
if (!lex->with_cte_resolution)
|
if (!lex->with_cte_resolution)
|
||||||
{
|
|
||||||
my_message(ER_NO_DB_ERROR, ER(ER_NO_DB_ERROR), MYF(0));
|
my_message(ER_NO_DB_ERROR, ER(ER_NO_DB_ERROR), MYF(0));
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
|
||||||
return FALSE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
to->str= strmake(db.str, db.length);
|
to->str= strmake(db.str, db.length);
|
||||||
|
@ -1700,10 +1700,13 @@ static bool srv_task_execute()
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void purge_create_background_thds(int );
|
||||||
|
|
||||||
std::mutex purge_thread_count_mtx;
|
std::mutex purge_thread_count_mtx;
|
||||||
void srv_update_purge_thread_count(uint n)
|
void srv_update_purge_thread_count(uint n)
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> lk(purge_thread_count_mtx);
|
std::lock_guard<std::mutex> lk(purge_thread_count_mtx);
|
||||||
|
purge_create_background_thds(n);
|
||||||
srv_n_purge_threads = n;
|
srv_n_purge_threads = n;
|
||||||
srv_purge_thread_count_changed = 1;
|
srv_purge_thread_count_changed = 1;
|
||||||
}
|
}
|
||||||
@ -1797,15 +1800,25 @@ static std::list<THD*> purge_thds;
|
|||||||
static std::mutex purge_thd_mutex;
|
static std::mutex purge_thd_mutex;
|
||||||
extern void* thd_attach_thd(THD*);
|
extern void* thd_attach_thd(THD*);
|
||||||
extern void thd_detach_thd(void *);
|
extern void thd_detach_thd(void *);
|
||||||
|
static int n_purge_thds;
|
||||||
|
|
||||||
|
/* 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);
|
||||||
|
while (n_purge_thds < n)
|
||||||
|
{
|
||||||
|
purge_thds.push_back(innobase_create_background_thd("InnoDB purge worker"));
|
||||||
|
n_purge_thds++;
|
||||||
|
}
|
||||||
|
set_current_thd(thd);
|
||||||
|
}
|
||||||
|
|
||||||
static THD *acquire_thd(void **ctx)
|
static THD *acquire_thd(void **ctx)
|
||||||
{
|
{
|
||||||
std::unique_lock<std::mutex> lk(purge_thd_mutex);
|
std::unique_lock<std::mutex> lk(purge_thd_mutex);
|
||||||
if (purge_thds.empty()) {
|
ut_a(!purge_thds.empty());
|
||||||
THD* thd = current_thd;
|
|
||||||
purge_thds.push_back(innobase_create_background_thd("InnoDB purge worker"));
|
|
||||||
set_current_thd(thd);
|
|
||||||
}
|
|
||||||
THD* thd = purge_thds.front();
|
THD* thd = purge_thds.front();
|
||||||
purge_thds.pop_front();
|
purge_thds.pop_front();
|
||||||
lk.unlock();
|
lk.unlock();
|
||||||
@ -1903,6 +1916,7 @@ static void purge_coordinator_callback(void*)
|
|||||||
|
|
||||||
void srv_init_purge_tasks()
|
void srv_init_purge_tasks()
|
||||||
{
|
{
|
||||||
|
purge_create_background_thds(srv_n_purge_threads);
|
||||||
purge_coordinator_timer= srv_thread_pool->create_timer
|
purge_coordinator_timer= srv_thread_pool->create_timer
|
||||||
(purge_coordinator_timer_callback, nullptr);
|
(purge_coordinator_timer_callback, nullptr);
|
||||||
}
|
}
|
||||||
@ -1913,11 +1927,13 @@ static void srv_shutdown_purge_tasks()
|
|||||||
delete purge_coordinator_timer;
|
delete purge_coordinator_timer;
|
||||||
purge_coordinator_timer= nullptr;
|
purge_coordinator_timer= nullptr;
|
||||||
purge_worker_task.wait();
|
purge_worker_task.wait();
|
||||||
|
std::unique_lock<std::mutex> lk(purge_thd_mutex);
|
||||||
while (!purge_thds.empty())
|
while (!purge_thds.empty())
|
||||||
{
|
{
|
||||||
innobase_destroy_background_thd(purge_thds.front());
|
innobase_destroy_background_thd(purge_thds.front());
|
||||||
purge_thds.pop_front();
|
purge_thds.pop_front();
|
||||||
}
|
}
|
||||||
|
n_purge_thds= 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**********************************************************************//**
|
/**********************************************************************//**
|
||||||
@ -1958,7 +1974,8 @@ ulint srv_get_task_queue_length()
|
|||||||
void srv_purge_shutdown()
|
void srv_purge_shutdown()
|
||||||
{
|
{
|
||||||
if (purge_sys.enabled()) {
|
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()) {
|
while(!srv_purge_should_exit()) {
|
||||||
ut_a(!purge_sys.paused());
|
ut_a(!purge_sys.paused());
|
||||||
srv_wake_purge_thread_if_not_active();
|
srv_wake_purge_thread_if_not_active();
|
||||||
|
@ -1826,7 +1826,7 @@ void pfs_register_socket_v1(const char *category,
|
|||||||
@sa PSI_v1::init_mutex.
|
@sa PSI_v1::init_mutex.
|
||||||
*/
|
*/
|
||||||
PSI_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);
|
INIT_BODY_V1(mutex, key, identity);
|
||||||
}
|
}
|
||||||
@ -1849,7 +1849,7 @@ void pfs_destroy_mutex_v1(PSI_mutex* mutex)
|
|||||||
@sa PSI_v1::init_rwlock.
|
@sa PSI_v1::init_rwlock.
|
||||||
*/
|
*/
|
||||||
PSI_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);
|
INIT_BODY_V1(rwlock, key, identity);
|
||||||
}
|
}
|
||||||
@ -1872,7 +1872,7 @@ void pfs_destroy_rwlock_v1(PSI_rwlock* rwlock)
|
|||||||
@sa PSI_v1::init_cond.
|
@sa PSI_v1::init_cond.
|
||||||
*/
|
*/
|
||||||
PSI_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);
|
INIT_BODY_V1(cond, key, identity);
|
||||||
}
|
}
|
||||||
|
@ -47,6 +47,15 @@ IF(MSVC_ARM64)
|
|||||||
SKIP_ROCKSDB_PLUGIN("Windows ARM64 not supported")
|
SKIP_ROCKSDB_PLUGIN("Windows ARM64 not supported")
|
||||||
ENDIF()
|
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)
|
# This plugin needs recent C++ compilers (it is using C++11 features)
|
||||||
# Skip build for the old compilers
|
# Skip build for the old compilers
|
||||||
SET(CXX11_FLAGS)
|
SET(CXX11_FLAGS)
|
||||||
|
Reference in New Issue
Block a user