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
c36a2a0d
Commit
c36a2a0d
authored
Dec 17, 2020
by
Marko Mäkelä
Browse files
Options
Browse Files
Download
Plain Diff
Merge 10.5 into 10.6
parents
af1335c2
1fe3dd00
Changes
27
Show whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
266 additions
and
103 deletions
+266
-103
cmake/build_configurations/mysql_release.cmake
cmake/build_configurations/mysql_release.cmake
+4
-0
cmake/maintainer.cmake
cmake/maintainer.cmake
+5
-1
cmake/os/AIX.cmake
cmake/os/AIX.cmake
+9
-7
cmake/plugin.cmake
cmake/plugin.cmake
+5
-1
extra/perror.c
extra/perror.c
+16
-5
include/my_global.h
include/my_global.h
+0
-46
include/mysql/psi/psi_memory.h
include/mysql/psi/psi_memory.h
+4
-0
libservices/mysqlservices_aix.def
libservices/mysqlservices_aix.def
+23
-0
mysql-test/main/repair_symlink-5543.test
mysql-test/main/repair_symlink-5543.test
+2
-2
mysql-test/main/symlink-myisam-11902.test
mysql-test/main/symlink-myisam-11902.test
+2
-2
mysql-test/suite/mariabackup/xb_compressed_encrypted.opt
mysql-test/suite/mariabackup/xb_compressed_encrypted.opt
+2
-2
mysql-test/suite/s3/my.cnf
mysql-test/suite/s3/my.cnf
+17
-8
mysql-test/suite/s3/slave.cnf
mysql-test/suite/s3/slave.cnf
+16
-8
mysql-test/suite/s3/suite.pm
mysql-test/suite/s3/suite.pm
+59
-0
plugin/auth_gssapi/cmake/FindGSSAPI.cmake
plugin/auth_gssapi/cmake/FindGSSAPI.cmake
+5
-1
plugin/auth_socket/CMakeLists.txt
plugin/auth_socket/CMakeLists.txt
+14
-0
plugin/auth_socket/auth_socket.c
plugin/auth_socket/auth_socket.c
+6
-0
sql/CMakeLists.txt
sql/CMakeLists.txt
+13
-4
sql/log_event.cc
sql/log_event.cc
+2
-0
sql/sql_insert.cc
sql/sql_insert.cc
+5
-5
sql/sql_yacc.yy
sql/sql_yacc.yy
+4
-0
storage/heap/CMakeLists.txt
storage/heap/CMakeLists.txt
+5
-0
storage/innobase/fil/fil0crypt.cc
storage/innobase/fil/fil0crypt.cc
+27
-11
storage/innobase/include/univ.i
storage/innobase/include/univ.i
+6
-0
storage/maria/CMakeLists.txt
storage/maria/CMakeLists.txt
+5
-0
storage/myisam/CMakeLists.txt
storage/myisam/CMakeLists.txt
+5
-0
storage/perfschema/CMakeLists.txt
storage/perfschema/CMakeLists.txt
+5
-0
No files found.
cmake/build_configurations/mysql_release.cmake
View file @
c36a2a0d
...
@@ -88,6 +88,10 @@ IF(WIN32)
...
@@ -88,6 +88,10 @@ IF(WIN32)
SET
(
INSTALL_MYSQLTESTDIR
""
CACHE STRING
""
)
SET
(
INSTALL_MYSQLTESTDIR
""
CACHE STRING
""
)
SET
(
INSTALL_SQLBENCHDIR
""
CACHE STRING
""
)
SET
(
INSTALL_SQLBENCHDIR
""
CACHE STRING
""
)
SET
(
INSTALL_SUPPORTFILESDIR
""
CACHE STRING
""
)
SET
(
INSTALL_SUPPORTFILESDIR
""
CACHE STRING
""
)
ELSEIF
(
CMAKE_SYSTEM_NAME MATCHES
"AIX"
)
# AIX freesource is RPM, but different than Linux RPM
SET
(
WITH_SSL system CACHE STRING
""
)
SET
(
WITH_ZLIB system CACHE STRING
""
)
ELSEIF
(
RPM
)
ELSEIF
(
RPM
)
SET
(
WITH_SSL system CACHE STRING
""
)
SET
(
WITH_SSL system CACHE STRING
""
)
SET
(
WITH_ZLIB system CACHE STRING
""
)
SET
(
WITH_ZLIB system CACHE STRING
""
)
...
...
cmake/maintainer.cmake
View file @
c36a2a0d
...
@@ -40,7 +40,11 @@ FOREACH(F ${MY_WARNING_FLAGS})
...
@@ -40,7 +40,11 @@ FOREACH(F ${MY_WARNING_FLAGS})
MY_CHECK_AND_SET_COMPILER_FLAG
(
${
F
}
DEBUG RELWITHDEBINFO
)
MY_CHECK_AND_SET_COMPILER_FLAG
(
${
F
}
DEBUG RELWITHDEBINFO
)
ENDFOREACH
()
ENDFOREACH
()
SET
(
MY_ERROR_FLAGS -Werror
)
IF
(
CMAKE_SYSTEM_NAME MATCHES AIX
)
SET
(
MY_ERROR_FLAGS
""
)
ELSE
()
SET
(
MY_ERROR_FLAGS -Werror
)
ENDIF
()
IF
(
CMAKE_COMPILER_IS_GNUCC AND CMAKE_C_COMPILER_VERSION VERSION_LESS
"6.0.0"
)
IF
(
CMAKE_COMPILER_IS_GNUCC AND CMAKE_C_COMPILER_VERSION VERSION_LESS
"6.0.0"
)
SET
(
MY_ERROR_FLAGS
${
MY_ERROR_FLAGS
}
-Wno-error=maybe-uninitialized
)
SET
(
MY_ERROR_FLAGS
${
MY_ERROR_FLAGS
}
-Wno-error=maybe-uninitialized
)
...
...
cmake/os/AIX.cmake
View file @
c36a2a0d
...
@@ -16,7 +16,12 @@
...
@@ -16,7 +16,12 @@
#Enable 64 bit file offsets
#Enable 64 bit file offsets
SET
(
_LARGE_FILES 1
)
SET
(
_LARGE_FILES 1
)
SET
(
CMAKE_C_ARCHIVE_CREATE
"<CMAKE_AR> -X32_64 qc <TARGET> <LINK_FLAGS> <OBJECTS>"
)
SET
(
CMAKE_C_ARCHIVE_APPEND
"<CMAKE_AR> -X32_64 q <TARGET> <LINK_FLAGS> <OBJECTS>"
)
SET
(
CMAKE_CXX_ARCHIVE_CREATE
"<CMAKE_AR> -X32_64 qc <TARGET> <LINK_FLAGS> <OBJECTS>"
)
SET
(
CMAKE_CXX_ARCHIVE_APPEND
"<CMAKE_AR> -X32_64 q <TARGET> <LINK_FLAGS> <OBJECTS>"
)
IF
(
__AIX_COMPILER_XL
)
# Fix xlC oddity - it complains about same inline function defined multiple times
# Fix xlC oddity - it complains about same inline function defined multiple times
# in different compilation units
# in different compilation units
INCLUDE
(
CheckCXXCompilerFlag
)
INCLUDE
(
CheckCXXCompilerFlag
)
...
@@ -24,10 +29,7 @@ INCLUDE(CheckCXXCompilerFlag)
...
@@ -24,10 +29,7 @@ INCLUDE(CheckCXXCompilerFlag)
IF
(
HAVE_QSTATICINLINE
)
IF
(
HAVE_QSTATICINLINE
)
SET
(
CMAKE_CXX_FLAGS
"
${
CMAKE_CXX_FLAGS
}
-qstaticinline"
)
SET
(
CMAKE_CXX_FLAGS
"
${
CMAKE_CXX_FLAGS
}
-qstaticinline"
)
ENDIF
()
ENDIF
()
ELSE
()
# The following is required to export all symbols
SET
(
CMAKE_C_FLAGS
"
${
CMAKE_C_FLAGS
}
-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -maix64 -pthread -mcmodel=large"
)
# (also with leading underscore)
SET
(
CMAKE_CXX_FLAGS
"
${
CMAKE_CXX_FLAGS
}
-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -maix64 -pthread -mcmodel=large"
)
STRING
(
REPLACE
"-bexpall"
"-bexpfull"
CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS
ENDIF
()
"
${
CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS
}
"
)
STRING
(
REPLACE
"-bexpall"
"-bexpfull"
CMAKE_SHARED_LIBRARY_LINK_C_FLAGS
"
${
CMAKE_SHARED_LIBRARY_LINK_C_FLAGS
}
"
)
cmake/plugin.cmake
View file @
c36a2a0d
...
@@ -209,6 +209,10 @@ MACRO(MYSQL_ADD_PLUGIN)
...
@@ -209,6 +209,10 @@ MACRO(MYSQL_ADD_PLUGIN)
TARGET_LINK_LIBRARIES
(
${
target
}
mysqlservices
${
ARG_LINK_LIBRARIES
}
)
TARGET_LINK_LIBRARIES
(
${
target
}
mysqlservices
${
ARG_LINK_LIBRARIES
}
)
IF
(
CMAKE_SYSTEM_NAME MATCHES AIX
)
TARGET_LINK_OPTIONS
(
${
target
}
PRIVATE
"-Wl,-bE:
${
CMAKE_SOURCE_DIR
}
/libservices/mysqlservices_aix.def"
)
ENDIF
()
# Server plugins use symbols defined in mysqld executable.
# Server plugins use symbols defined in mysqld executable.
# Some operating systems like Windows and OSX and are pretty strict about
# Some operating systems like Windows and OSX and are pretty strict about
# unresolved symbols. Others are less strict and allow unresolved symbols
# unresolved symbols. Others are less strict and allow unresolved symbols
...
@@ -217,7 +221,7 @@ MACRO(MYSQL_ADD_PLUGIN)
...
@@ -217,7 +221,7 @@ MACRO(MYSQL_ADD_PLUGIN)
# Thus we skip TARGET_LINK_LIBRARIES on Linux, as it would only generate
# Thus we skip TARGET_LINK_LIBRARIES on Linux, as it would only generate
# an additional dependency.
# an additional dependency.
IF
(
ARG_RECOMPILE_FOR_EMBEDDED OR ARG_STORAGE_ENGINE
)
IF
(
ARG_RECOMPILE_FOR_EMBEDDED OR ARG_STORAGE_ENGINE
)
IF
(
MSVC
)
IF
(
MSVC
OR CMAKE_SYSTEM_NAME MATCHES AIX
)
TARGET_LINK_LIBRARIES
(
${
target
}
server
)
TARGET_LINK_LIBRARIES
(
${
target
}
server
)
ELSEIF
(
NOT CMAKE_SYSTEM_NAME STREQUAL
"Linux"
)
ELSEIF
(
NOT CMAKE_SYSTEM_NAME STREQUAL
"Linux"
)
TARGET_LINK_LIBRARIES
(
${
target
}
mariadbd
)
TARGET_LINK_LIBRARIES
(
${
target
}
mariadbd
)
...
...
extra/perror.c
View file @
c36a2a0d
...
@@ -263,6 +263,7 @@ int main(int argc,char *argv[])
...
@@ -263,6 +263,7 @@ int main(int argc,char *argv[])
const
char
*
msg
;
const
char
*
msg
;
const
char
*
name
;
const
char
*
name
;
char
*
unknown_error
=
0
;
char
*
unknown_error
=
0
;
char
unknow_aix
[
30
];
#if defined(_WIN32)
#if defined(_WIN32)
my_bool
skip_win_message
=
0
;
my_bool
skip_win_message
=
0
;
#endif
#endif
...
@@ -320,6 +321,9 @@ int main(int argc,char *argv[])
...
@@ -320,6 +321,9 @@ int main(int argc,char *argv[])
code
=
atoi
(
*
argv
);
code
=
atoi
(
*
argv
);
msg
=
strerror
(
code
);
msg
=
strerror
(
code
);
// On AIX, unknow error return " Error <CODE> occurred."
snprintf
(
unknow_aix
,
sizeof
(
unknow_aix
),
" Error %3d occurred."
,
code
);
/*
/*
We don't print the OS error message if it is the same as the
We don't print the OS error message if it is the same as the
unknown_error message we retrieved above, or it starts with
unknown_error message we retrieved above, or it starts with
...
@@ -330,11 +334,18 @@ int main(int argc,char *argv[])
...
@@ -330,11 +334,18 @@ int main(int argc,char *argv[])
(
const
uchar
*
)
"Unknown Error"
,
13
)
&&
(
const
uchar
*
)
"Unknown Error"
,
13
)
&&
(
!
unknown_error
||
strcmp
(
msg
,
unknown_error
)))
(
!
unknown_error
||
strcmp
(
msg
,
unknown_error
)))
{
{
#ifdef _AIX
if
(
!
strcmp
(
msg
,
unknow_aix
))
{
#endif
found
=
1
;
found
=
1
;
if
(
verbose
)
if
(
verbose
)
printf
(
"OS error code %3d: %s
\n
"
,
code
,
msg
);
printf
(
"OS error code %3d: %s
\n
"
,
code
,
msg
);
else
else
puts
(
msg
);
puts
(
msg
);
#ifdef _AIX
}
#endif
}
}
if
((
msg
=
get_ha_error_msg
(
code
)))
if
((
msg
=
get_ha_error_msg
(
code
)))
{
{
...
...
include/my_global.h
View file @
c36a2a0d
...
@@ -135,13 +135,6 @@
...
@@ -135,13 +135,6 @@
#endif
/* _WIN32*/
#endif
/* _WIN32*/
/* Workaround for _LARGE_FILES and _LARGE_FILE_API incompatibility on AIX */
#if defined(_AIX) && defined(_LARGE_FILE_API)
#undef _LARGE_FILE_API
#undef __GNUG__
#endif
/*
/*
The macros below are used to allow build of Universal/fat binaries of
The macros below are used to allow build of Universal/fat binaries of
MySQL and MySQL applications under darwin.
MySQL and MySQL applications under darwin.
...
@@ -270,22 +263,6 @@ C_MODE_END
...
@@ -270,22 +263,6 @@ C_MODE_END
#endif
#endif
#endif
/* !defined(__WIN__) */
#endif
/* !defined(__WIN__) */
/* Go around some bugs in different OS and compilers */
#ifdef _AIX
/* By soren@t.dk */
#define _H_STRINGS
#define _SYS_STREAM_H
/* #define _AIX32_CURSES */
/* XXX: this breaks AIX 4.3.3 (others?). */
#define ulonglong2double(A) my_ulonglong2double(A)
#define my_off_t2double(A) my_ulonglong2double(A)
C_MODE_START
inline
double
my_ulonglong2double
(
unsigned
long
long
A
)
{
return
(
double
)
A
;
}
C_MODE_END
#endif
/* _AIX */
#ifdef UNDEF_HAVE_INITGROUPS
/* For AIX 4.3 */
#undef HAVE_INITGROUPS
#endif
/* gcc/egcs issues */
/* gcc/egcs issues */
#if defined(__GNUC) && defined(__EXCEPTIONS)
#if defined(__GNUC) && defined(__EXCEPTIONS)
...
@@ -295,16 +272,6 @@ C_MODE_END
...
@@ -295,16 +272,6 @@ C_MODE_END
#if defined(_lint) && !defined(lint)
#if defined(_lint) && !defined(lint)
#define lint
#define lint
#endif
#endif
#if SIZEOF_LONG_LONG > 4 && !defined(_LONG_LONG)
#define _LONG_LONG 1
/* For AIX string library */
#endif
/* Workaround for _LARGE_FILES and _LARGE_FILE_API incompatibility on AIX */
#if defined(_AIX) && defined(_LARGE_FILE_API)
#undef _LARGE_FILE_API
#undef __GNUG__
#endif
#ifndef stdin
#ifndef stdin
#include <stdio.h>
#include <stdio.h>
...
@@ -332,13 +299,6 @@ C_MODE_END
...
@@ -332,13 +299,6 @@ C_MODE_END
#include <sys/types.h>
#include <sys/types.h>
#endif
#endif
/* Workaround for _LARGE_FILES and _LARGE_FILE_API incompatibility on AIX */
#if defined(_AIX) && defined(_LARGE_FILE_API)
#undef _LARGE_FILE_API
#undef __GNUG__
#endif
#ifdef HAVE_FCNTL_H
#ifdef HAVE_FCNTL_H
#include <fcntl.h>
#include <fcntl.h>
#endif
#endif
...
@@ -1197,12 +1157,6 @@ typedef struct { const char *dli_fname, dli_fbase; } Dl_info;
...
@@ -1197,12 +1157,6 @@ typedef struct { const char *dli_fname, dli_fbase; } Dl_info;
#define HAVE_EXTERNAL_CLIENT
#define HAVE_EXTERNAL_CLIENT
#endif
/* EMBEDDED_LIBRARY */
#endif
/* EMBEDDED_LIBRARY */
/* Workaround for _LARGE_FILES and _LARGE_FILE_API incompatibility on AIX */
#if defined(_AIX) && defined(_LARGE_FILE_API)
#undef _LARGE_FILE_API
#undef __GNUG__
#endif
/*
/*
Provide defaults for the CPU cache line size, if it has not been detected by
Provide defaults for the CPU cache line size, if it has not been detected by
CMake using getconf
CMake using getconf
...
...
include/mysql/psi/psi_memory.h
View file @
c36a2a0d
...
@@ -138,6 +138,10 @@ typedef void (*memory_free_v1_t)
...
@@ -138,6 +138,10 @@ typedef void (*memory_free_v1_t)
/** @} (end of group Group_PSI_v1) */
/** @} (end of group Group_PSI_v1) */
#ifdef _AIX
PSI_memory_key
key_memory_log_event
;
#endif
#endif
/* HAVE_PSI_1 */
#endif
/* HAVE_PSI_1 */
#ifdef HAVE_PSI_2
#ifdef HAVE_PSI_2
...
...
libservices/mysqlservices_aix.def
0 → 100644
View file @
c36a2a0d
#! .
base64_service
debug_sync_service
encryption_scheme_service
encryption_service
json_service
logger_service
my_crypt_service
my_md5_service
my_print_error_service
my_sha1_service
my_sha2_service
my_snprintf_service
progress_report_service
thd_alloc_service
thd_autoinc_service
thd_error_context_service
thd_kill_statement_service
thd_rnd_service
thd_specifics_service
thd_timezone_service
thd_wait_service
wsrep_service
mysql-test/main/repair_symlink-5543.test
View file @
c36a2a0d
...
@@ -11,7 +11,7 @@ insert t1 values (1);
...
@@ -11,7 +11,7 @@ insert t1 values (1);
--
system
ln
-
s
$MYSQL_TMP_DIR
/
foobar5543
$MYSQL_TMP_DIR
/
t1
.
TMD
--
system
ln
-
s
$MYSQL_TMP_DIR
/
foobar5543
$MYSQL_TMP_DIR
/
t1
.
TMD
--
echo
# Some systems fail with errcode 40, or 90 (MIPS) when doing openat,
--
echo
# Some systems fail with errcode 40, or 90 (MIPS) when doing openat,
--
echo
# while others don't have openat and fail with errcode 20.
--
echo
# while others don't have openat and fail with errcode 20.
--
replace_regex
/
'.*\/t1/ '
MYSQL_TMP_DIR
\
/
t1
/
/
[
49
]
0
/
20
/
/
".*"
/
"<errmsg>"
/
--
replace_regex
/
'.*\/t1/ '
MYSQL_TMP_DIR
\
/
t1
/
/
[
49
]
0
/
20
/
/
85
/
20
/
/
".*"
/
"<errmsg>"
/
repair
table
t1
;
repair
table
t1
;
drop
table
t1
;
drop
table
t1
;
...
@@ -19,7 +19,7 @@ drop table t1;
...
@@ -19,7 +19,7 @@ drop table t1;
eval
create
table
t2
(
a
int
)
engine
=
aria
data
directory
=
'$MYSQL_TMP_DIR'
;
eval
create
table
t2
(
a
int
)
engine
=
aria
data
directory
=
'$MYSQL_TMP_DIR'
;
insert
t2
values
(
1
);
insert
t2
values
(
1
);
--
system
ln
-
s
$MYSQL_TMP_DIR
/
foobar5543
$MYSQL_TMP_DIR
/
t2
.
TMD
--
system
ln
-
s
$MYSQL_TMP_DIR
/
foobar5543
$MYSQL_TMP_DIR
/
t2
.
TMD
--
replace_regex
/
'.*\/t2/ '
MYSQL_TMP_DIR
\
/
t2
/
/
[
49
]
0
/
20
/
/
".*"
/
"<errmsg>"
/
--
replace_regex
/
'.*\/t2/ '
MYSQL_TMP_DIR
\
/
t2
/
/
[
49
]
0
/
20
/
/
85
/
20
/
/
".*"
/
"<errmsg>"
/
repair
table
t2
;
repair
table
t2
;
drop
table
t2
;
drop
table
t2
;
...
...
mysql-test/main/symlink-myisam-11902.test
View file @
c36a2a0d
...
@@ -25,7 +25,7 @@ exec rm -r $MYSQLTEST_VARDIR/tmp/foo;
...
@@ -25,7 +25,7 @@ exec rm -r $MYSQLTEST_VARDIR/tmp/foo;
exec
ln
-
s
$datadir
/
mysql
$MYSQLTEST_VARDIR
/
tmp
/
foo
;
exec
ln
-
s
$datadir
/
mysql
$MYSQLTEST_VARDIR
/
tmp
/
foo
;
set
debug_sync
=
'now SIGNAL go'
;
set
debug_sync
=
'now SIGNAL go'
;
connection
default
;
connection
default
;
replace_regex
/
'.*\/tmp\// '
MYSQLTEST_VARDIR
\
/
tmp
\
// /31/20/ /40/20/ /20.*/20 <errmsg>)/;
replace_regex
/
'.*\/tmp\// '
MYSQLTEST_VARDIR
\
/
tmp
\
// /31/20/ /40/20/ /
85/20/ /
20.*/20 <errmsg>)/;
error
29
;
error
29
;
reap
;
reap
;
flush
tables
;
flush
tables
;
...
@@ -49,7 +49,7 @@ exec rm -r $MYSQLTEST_VARDIR/tmp/foo;
...
@@ -49,7 +49,7 @@ exec rm -r $MYSQLTEST_VARDIR/tmp/foo;
exec
ln
-
s
$datadir
/
mysql
$MYSQLTEST_VARDIR
/
tmp
/
foo
;
exec
ln
-
s
$datadir
/
mysql
$MYSQLTEST_VARDIR
/
tmp
/
foo
;
set
debug_sync
=
'now SIGNAL run'
;
set
debug_sync
=
'now SIGNAL run'
;
connection
default
;
connection
default
;
replace_regex
/
'.*\/test\// '
.
\
/
test
\
// /31/20/ /40/20/ /20.*/20 <errmsg>)/;
replace_regex
/
'.*\/test\// '
.
\
/
test
\
// /31/20/ /40/20/ /
85/20/ /
20.*/20 <errmsg>)/;
error
ER_FILE_NOT_FOUND
;
error
ER_FILE_NOT_FOUND
;
reap
;
reap
;
flush
tables
;
flush
tables
;
...
...
mysql-test/suite/mariabackup/xb_compressed_encrypted.opt
View file @
c36a2a0d
--innodb-encryption-rotate-key-age=
2
--innodb-encryption-rotate-key-age=
0
--innodb-encryption-threads=
1
--innodb-encryption-threads=
4
--innodb-tablespaces-encryption
--innodb-tablespaces-encryption
--plugin-load-add=$FILE_KEY_MANAGEMENT_SO
--plugin-load-add=$FILE_KEY_MANAGEMENT_SO
--loose-file-key-management
--loose-file-key-management
...
...
mysql-test/suite/s3/my.cnf
View file @
c36a2a0d
...
@@ -5,6 +5,15 @@
...
@@ -5,6 +5,15 @@
plugin-maturity = gamma
plugin-maturity = gamma
plugin-load-add=@ENV.HA_S3_SO
plugin-load-add=@ENV.HA_S3_SO
s3=ON
s3=ON
s3-host-name=@ENV.S3_HOST_NAME
s3-protocol-version=@ENV.S3_PROTOCOL_VERSION
s3-bucket=@ENV.S3_BUCKET
s3-access-key=@ENV.S3_ACCESS_KEY
s3-secret-key=@ENV.S3_SECRET_KEY
s3-region=@ENV.S3_REGION
s3-port=@ENV.S3_PORT
s3-use-http=@ENV.S3_USE_HTTP
#s3-host-name=s3.amazonaws.com
#s3-host-name=s3.amazonaws.com
#s3-protocol-version=Amazon
#s3-protocol-version=Amazon
#s3-bucket=MariaDB
#s3-bucket=MariaDB
...
@@ -15,11 +24,11 @@ s3=ON
...
@@ -15,11 +24,11 @@ s3=ON
##
##
## Configuration for local MinIO
## Configuration for local MinIO
##
##
s3-host-name="127.0.0.1"
#
s3-host-name="127.0.0.1"
# Note: s3-host-name="localhost" doesn't work. It causes
#
#
Note: s3-host-name="localhost" doesn't work. It causes
# libmarias3 to use the wrong variant of the protocol.
#
#
libmarias3 to use the wrong variant of the protocol.
s3-bucket=storage-engine
#
s3-bucket=storage-engine
s3-access-key=minio
#
s3-access-key=minio
s3-secret-key=minioadmin
#
s3-secret-key=minioadmin
s3-port=9000
#
s3-port=9000
s3-use-http=ON
#
s3-use-http=ON
mysql-test/suite/s3/slave.cnf
View file @
c36a2a0d
...
@@ -3,6 +3,14 @@ plugin-maturity = gamma
...
@@ -3,6 +3,14 @@ plugin-maturity = gamma
plugin-load-add=@ENV.HA_S3_SO
plugin-load-add=@ENV.HA_S3_SO
s3=ON
s3=ON
s3-slave-ignore-updates=1
s3-slave-ignore-updates=1
s3-host-name=@ENV.S3_HOST_NAME
s3-protocol-version=@ENV.S3_PROTOCOL_VERSION
s3-bucket=@ENV.S3_BUCKET
s3-access-key=@ENV.S3_ACCESS_KEY
s3-secret-key=@ENV.S3_SECRET_KEY
s3-region=@ENV.S3_REGION
s3-port=@ENV.S3_PORT
s3-use-http=@ENV.S3_USE_HTTP
# You can change the following when running the tests against
# You can change the following when running the tests against
# your own S3 setup
# your own S3 setup
...
@@ -17,11 +25,11 @@ s3-slave-ignore-updates=1
...
@@ -17,11 +25,11 @@ s3-slave-ignore-updates=1
##
##
## Configuration for local MinIO
## Configuration for local MinIO
##
##
s3-host-name="127.0.0.1"
#
s3-host-name="127.0.0.1"
# Note: s3-host-name="localhost" doesn't work. It causes
#
#
Note: s3-host-name="localhost" doesn't work. It causes
# libmarias3 to use the wrong variant of the protocol.
#
#
libmarias3 to use the wrong variant of the protocol.
s3-bucket=storage-engine
#
s3-bucket=storage-engine
s3-access-key=minio
#
s3-access-key=minio
s3-secret-key=minioadmin
#
s3-secret-key=minioadmin
s3-port=9000
#
s3-port=9000
s3-use-http=ON
#
s3-use-http=ON
mysql-test/suite/s3/suite.pm
View file @
c36a2a0d
package
My::Suite::
S3
;
package
My::Suite::
S3
;
use
Socket
;
@ISA
=
qw(My::Suite)
;
@ISA
=
qw(My::Suite)
;
return
"
Need S3 engine
"
unless
$::mysqld_variables
{'
s3
'}
eq
"
ON
"
or
$ENV
{
HA_S3_SO
};
return
"
Need S3 engine
"
unless
$::mysqld_variables
{'
s3
'}
eq
"
ON
"
or
$ENV
{
HA_S3_SO
};
my
$paddr
=
sockaddr_in
(
9000
,
INADDR_ANY
);
my
$protocol
=
getprotobyname
("
tcp
");
socket
(
SOCK
,
PF_INET
,
SOCK_STREAM
,
$protocol
);
if
(
connect
(
SOCK
,
$paddr
))
{
$ENV
{'
S3_HOST_NAME
'}
=
"
127.0.0.1
";
$ENV
{'
S3_PORT
'}
=
9000
;
$ENV
{'
S3_BUCKET
'}
=
"
storage-engine
";
$ENV
{'
S3_ACCESS_KEY
'}
=
"
minio
";
$ENV
{'
S3_SECRET_KEY
'}
=
"
minioadmin
";
$ENV
{'
S3_REGION
'}
=
"";
$ENV
{'
S3_PROTOCOL_VERSION
'}
=
"
Auto
";
$ENV
{'
S3_USE_HTTP
'}
=
"
ON
";
}
else
{
if
(
!
$ENV
{'
S3_HOST_NAME
'})
{
return
"
Environment variable S3_HOST_NAME need to be set
";
}
if
(
!
$ENV
{'
S3_BUCKET
'})
{
return
"
Environment variable S3_BUCKET need to be set
";
}
if
(
!
$ENV
{'
S3_REGION
'})
{
$ENV
{'
S3_REGION
'}
=
"";
}
if
(
!
$ENV
{'
S3_ACCESS_KEY
'})
{
return
"
Environment variable S3_ACCESS_KEY need to be set
";
}
if
(
!
$ENV
{'
S3_SECRET_KEY
'})
{
return
"
Environment variable S3_SECRET_KEY need to be set
";
}
if
(
!
$ENV
{'
S3_PROTOCOL_VERSION
'})
{
$ENV
{'
S3_PROTOCOL_VERSION
'}
=
"
Auto
";
}
if
(
!
$ENV
{'
S3_PORT
'})
{
$ENV
{'
S3_PORT
'}
=
0
;
}
if
(
!
$ENV
{'
S3_USE_HTTP
'})
{
$ENV
{'
S3_USE_HTTP
'}
=
"
OFF
";
}
}
bless
{
};
bless
{
};
plugin/auth_gssapi/cmake/FindGSSAPI.cmake
View file @
c36a2a0d
...
@@ -58,6 +58,10 @@ else(GSSAPI_LIBS AND GSSAPI_FLAVOR)
...
@@ -58,6 +58,10 @@ else(GSSAPI_LIBS AND GSSAPI_FLAVOR)
message
(
STATUS
"GSSAPI configure check failed."
)
message
(
STATUS
"GSSAPI configure check failed."
)
set
(
HAVE_KRB5_GSSAPI FALSE
)
set
(
HAVE_KRB5_GSSAPI FALSE
)
endif
(
_return_VALUE
)
endif
(
_return_VALUE
)
IF
(
CMAKE_SYSTEM_NAME MATCHES AIX
)
string
(
REGEX REPLACE
"-Wl[A-Za-z0-9_/,:-]*[ $]?"
""
GSSAPI_LIBS
"
${
GSSAPI_LIBS
}
"
)
string
(
REGEX REPLACE
"-L[A-Za-z0-9_/,:-]*[ $]?"
""
GSSAPI_LIBS
"
${
GSSAPI_LIBS
}
"
)
ENDIF
()
exec_program
(
${
KRB5_CONFIG
}
ARGS --cflags gssapi RETURN_VALUE _return_VALUE OUTPUT_VARIABLE GSSAPI_INCS
)
exec_program
(
${
KRB5_CONFIG
}
ARGS --cflags gssapi RETURN_VALUE _return_VALUE OUTPUT_VARIABLE GSSAPI_INCS
)
string
(
REGEX REPLACE
"(
\r
?
\n
)+$"
""
GSSAPI_INCS
"
${
GSSAPI_INCS
}
"
)
string
(
REGEX REPLACE
"(
\r
?
\n
)+$"
""
GSSAPI_INCS
"
${
GSSAPI_INCS
}
"
)
...
...
plugin/auth_socket/CMakeLists.txt
View file @
c36a2a0d
...
@@ -83,6 +83,19 @@ IF (HAVE_GETPEERUCRED AND HAVE_GETPWUID_POSIX_FINAL)
...
@@ -83,6 +83,19 @@ IF (HAVE_GETPEERUCRED AND HAVE_GETPWUID_POSIX_FINAL)
SET
(
ok 1
)
SET
(
ok 1
)
ELSE
()
ELSE
()
# AIX also!
CHECK_CXX_SOURCE_COMPILES
(
"#include <sys/socket.h>
int main() {
struct peercred_struct cred;
getsockopt(0, SOL_SOCKET, SO_PEERID, &cred, 0);
}"
HAVE_PEERCRED_STRUCT
)
IF
(
HAVE_PEERCRED_STRUCT
)
ADD_DEFINITIONS
(
-DHAVE_PEERCRED_STRUCT
)
SET
(
ok 1
)
ELSE
()
# Who else? Anyone?
# Who else? Anyone?
# C'mon, show your creativity, be different! ifdef's are fun, aren't they?
# C'mon, show your creativity, be different! ifdef's are fun, aren't they?
...
@@ -90,6 +103,7 @@ ENDIF()
...
@@ -90,6 +103,7 @@ ENDIF()
ENDIF
()
ENDIF
()
ENDIF
()
ENDIF
()
ENDIF
()
ENDIF
()
ENDIF
()
IF
(
ok
)
IF
(
ok
)
MYSQL_ADD_PLUGIN
(
auth_socket auth_socket.c DEFAULT
)
MYSQL_ADD_PLUGIN
(
auth_socket auth_socket.c DEFAULT
)
...
...
plugin/auth_socket/auth_socket.c
View file @
c36a2a0d
...
@@ -50,6 +50,12 @@
...
@@ -50,6 +50,12 @@
#elif defined HAVE_GETPEERUCRED
#elif defined HAVE_GETPEERUCRED
#include <ucred.h>
#include <ucred.h>
#elif defined HAVE_PEERCRED_STRUCT
#define level SOL_SOCKET
#define SO_PEERCRED SO_PEERID
#define uid euid
#define ucred peercred_struct
#else
#else
#error impossible
#error impossible
#endif
#endif
...
...
sql/CMakeLists.txt
View file @
c36a2a0d
...
@@ -214,17 +214,22 @@ ELSE()
...
@@ -214,17 +214,22 @@ ELSE()
SET
(
MYSQLD_SOURCE main.cc
${
DTRACE_PROBES_ALL
}
)
SET
(
MYSQLD_SOURCE main.cc
${
DTRACE_PROBES_ALL
}
)
ENDIF
()
ENDIF
()
IF
(
MSVC
)
IF
(
MSVC
OR CMAKE_SYSTEM_NAME MATCHES AIX
)
SET
(
libs_to_export_symbols sql mysys dbug strings
)
SET
(
libs_to_export_symbols sql mysys dbug strings
)
# Create shared library of already compiled object
# Create shared library of already compiled object
# Export all symbols from selected libraries, to be used
# Export all symbols from selected libraries, to be used
# by plugins
# by plugins
IF
(
MSVC
)
SET
(
VERSIONINFO_RC
${
PROJECT_BINARY_DIR
}
/versioninfo_dll.rc
)
ELSE
()
SET
(
VERSIONINFO_RC
)
ENDIF
()
ADD_LIBRARY
(
server SHARED
ADD_LIBRARY
(
server SHARED
$<TARGET_OBJECTS:sql>
$<TARGET_OBJECTS:sql>
$<TARGET_OBJECTS:mysys>
$<TARGET_OBJECTS:mysys>
$<TARGET_OBJECTS:dbug>
$<TARGET_OBJECTS:dbug>
$<TARGET_OBJECTS:strings>
$<TARGET_OBJECTS:strings>
${
PROJECT_BINARY_DIR
}
/versioninfo_dll.rc
${
VERSIONINFO_RC
}
)
)
# We need to add all dependencies of sql/mysys/dbug/strings
# We need to add all dependencies of sql/mysys/dbug/strings
...
@@ -245,7 +250,11 @@ IF(MSVC)
...
@@ -245,7 +250,11 @@ IF(MSVC)
${
all_deps
}
${
all_deps
}
sql_builtins
sql_builtins
)
)
IF
(
MSVC
)
SET_TARGET_PROPERTIES
(
server PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE
)
SET_TARGET_PROPERTIES
(
server PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE
)
ELSE
()
SET_TARGET_PROPERTIES
(
server PROPERTIES AIX_EXPORT_ALL_SYMBOLS TRUE
)
ENDIF
()
MYSQL_INSTALL_TARGETS
(
server DESTINATION
${
INSTALL_BINDIR
}
COMPONENT Server
)
MYSQL_INSTALL_TARGETS
(
server DESTINATION
${
INSTALL_BINDIR
}
COMPONENT Server
)
ENDIF
()
ENDIF
()
...
@@ -272,7 +281,7 @@ IF(NOT WITHOUT_DYNAMIC_PLUGINS)
...
@@ -272,7 +281,7 @@ IF(NOT WITHOUT_DYNAMIC_PLUGINS)
ENDIF
()
ENDIF
()
ENDIF
(
NOT WITHOUT_DYNAMIC_PLUGINS
)
ENDIF
(
NOT WITHOUT_DYNAMIC_PLUGINS
)
IF
(
MSVC
)
IF
(
MSVC
OR CMAKE_SYSTEM_NAME MATCHES AIX
)
TARGET_LINK_LIBRARIES
(
mariadbd server
)
TARGET_LINK_LIBRARIES
(
mariadbd server
)
ELSE
()
ELSE
()
TARGET_LINK_LIBRARIES
(
mariadbd LINK_PRIVATE sql sql_builtins
)
TARGET_LINK_LIBRARIES
(
mariadbd LINK_PRIVATE sql sql_builtins
)
...
...
sql/log_event.cc
View file @
c36a2a0d
...
@@ -56,7 +56,9 @@
...
@@ -56,7 +56,9 @@
#define my_b_write_string(A, B) my_b_write((A), (uchar*)(B), (uint) (sizeof(B) - 1))
#define my_b_write_string(A, B) my_b_write((A), (uchar*)(B), (uint) (sizeof(B) - 1))
#ifndef _AIX
PSI_memory_key
key_memory_log_event
;
PSI_memory_key
key_memory_log_event
;
#endif
PSI_memory_key
key_memory_Incident_log_event_message
;
PSI_memory_key
key_memory_Incident_log_event_message
;
PSI_memory_key
key_memory_Rows_query_log_event_rows_query
;
PSI_memory_key
key_memory_Rows_query_log_event_rows_query
;
...
...
sql/sql_insert.cc
View file @
c36a2a0d
...
@@ -2763,7 +2763,7 @@ int write_delayed(THD *thd, TABLE *table, enum_duplicates duplic,
...
@@ -2763,7 +2763,7 @@ int write_delayed(THD *thd, TABLE *table, enum_duplicates duplic,
delayed_row
*
row
=
0
;
delayed_row
*
row
=
0
;
Delayed_insert
*
di
=
thd
->
di
;
Delayed_insert
*
di
=
thd
->
di
;
const
Discrete_interval
*
forced_auto_inc
;
const
Discrete_interval
*
forced_auto_inc
;
size_t
user_len
,
host_len
,
ip_len
;
size_t
user_len
,
host_len
,
ip_len
gth
;
DBUG_ENTER
(
"write_delayed"
);
DBUG_ENTER
(
"write_delayed"
);
DBUG_PRINT
(
"enter"
,
(
"query = '%s' length %lu"
,
query
.
str
,
DBUG_PRINT
(
"enter"
,
(
"query = '%s' length %lu"
,
query
.
str
,
(
ulong
)
query
.
length
));
(
ulong
)
query
.
length
));
...
@@ -2798,7 +2798,7 @@ int write_delayed(THD *thd, TABLE *table, enum_duplicates duplic,
...
@@ -2798,7 +2798,7 @@ int write_delayed(THD *thd, TABLE *table, enum_duplicates duplic,
goto
err
;
goto
err
;
}
}
user_len
=
host_len
=
ip_len
=
0
;
user_len
=
host_len
=
ip_len
gth
=
0
;
row
->
user
=
row
->
host
=
row
->
ip
=
NULL
;
row
->
user
=
row
->
host
=
row
->
ip
=
NULL
;
if
(
thd
->
security_ctx
)
if
(
thd
->
security_ctx
)
{
{
...
@@ -2807,12 +2807,12 @@ int write_delayed(THD *thd, TABLE *table, enum_duplicates duplic,
...
@@ -2807,12 +2807,12 @@ int write_delayed(THD *thd, TABLE *table, enum_duplicates duplic,
if
(
thd
->
security_ctx
->
host
)
if
(
thd
->
security_ctx
->
host
)
host_len
=
strlen
(
thd
->
security_ctx
->
host
)
+
1
;
host_len
=
strlen
(
thd
->
security_ctx
->
host
)
+
1
;
if
(
thd
->
security_ctx
->
ip
)
if
(
thd
->
security_ctx
->
ip
)
ip_len
=
strlen
(
thd
->
security_ctx
->
ip
)
+
1
;
ip_len
gth
=
strlen
(
thd
->
security_ctx
->
ip
)
+
1
;
}
}
/* This can't be THREAD_SPECIFIC as it's freed in delayed thread */
/* This can't be THREAD_SPECIFIC as it's freed in delayed thread */
if
(
!
(
row
->
record
=
(
char
*
)
my_malloc
(
PSI_INSTRUMENT_ME
,
if
(
!
(
row
->
record
=
(
char
*
)
my_malloc
(
PSI_INSTRUMENT_ME
,
table
->
s
->
reclength
+
table
->
s
->
reclength
+
user_len
+
host_len
+
ip_len
,
user_len
+
host_len
+
ip_len
gth
,
MYF
(
MY_WME
))))
MYF
(
MY_WME
))))
goto
err
;
goto
err
;
memcpy
(
row
->
record
,
table
->
record
[
0
],
table
->
s
->
reclength
);
memcpy
(
row
->
record
,
table
->
record
[
0
],
table
->
s
->
reclength
);
...
@@ -2832,7 +2832,7 @@ int write_delayed(THD *thd, TABLE *table, enum_duplicates duplic,
...
@@ -2832,7 +2832,7 @@ int write_delayed(THD *thd, TABLE *table, enum_duplicates duplic,
if
(
thd
->
security_ctx
->
ip
)
if
(
thd
->
security_ctx
->
ip
)
{
{
row
->
ip
=
row
->
record
+
table
->
s
->
reclength
+
user_len
+
host_len
;
row
->
ip
=
row
->
record
+
table
->
s
->
reclength
+
user_len
+
host_len
;
memcpy
(
row
->
ip
,
thd
->
security_ctx
->
ip
,
ip_len
);
memcpy
(
row
->
ip
,
thd
->
security_ctx
->
ip
,
ip_len
gth
);
}
}
}
}
row
->
query_id
=
thd
->
query_id
;
row
->
query_id
=
thd
->
query_id
;
...
...
sql/sql_yacc.yy
View file @
c36a2a0d
...
@@ -178,7 +178,11 @@ void _CONCAT_UNDERSCORED(turn_parser_debug_on,yyparse)()
...
@@ -178,7 +178,11 @@ void _CONCAT_UNDERSCORED(turn_parser_debug_on,yyparse)()
The result will be in the process stderr (var/log/master.err)
The result will be in the process stderr (var/log/master.err)
*/
*/
#ifndef _AIX
extern int yydebug;
extern int yydebug;
#else
static int yydebug;
#endif
yydebug= 1;
yydebug= 1;
}
}
#endif
#endif
...
...
storage/heap/CMakeLists.txt
View file @
c36a2a0d
...
@@ -21,6 +21,11 @@ SET(HEAP_SOURCES _check.c _rectest.c hp_block.c hp_clear.c hp_close.c hp_create
...
@@ -21,6 +21,11 @@ SET(HEAP_SOURCES _check.c _rectest.c hp_block.c hp_clear.c hp_close.c hp_create
MYSQL_ADD_PLUGIN
(
heap
${
HEAP_SOURCES
}
STORAGE_ENGINE MANDATORY RECOMPILE_FOR_EMBEDDED
)
MYSQL_ADD_PLUGIN
(
heap
${
HEAP_SOURCES
}
STORAGE_ENGINE MANDATORY RECOMPILE_FOR_EMBEDDED
)
IF
(
CMAKE_SYSTEM_NAME MATCHES AIX AND CMAKE_BUILD_TYPE STREQUAL
"DEBUG"
)
# Workaround linker bug on AIX
SET
(
CMAKE_EXE_LINKER_FLAGS
"
${
CMAKE_EXE_LINKER_FLAGS
}
-Wl,-berok"
)
ENDIF
()
IF
(
WITH_UNIT_TESTS
)
IF
(
WITH_UNIT_TESTS
)
ADD_EXECUTABLE
(
hp_test1 hp_test1.c
)
ADD_EXECUTABLE
(
hp_test1 hp_test1.c
)
TARGET_LINK_LIBRARIES
(
hp_test1 heap mysys dbug strings
)
TARGET_LINK_LIBRARIES
(
hp_test1 heap mysys dbug strings
)
...
...
storage/innobase/fil/fil0crypt.cc
View file @
c36a2a0d
...
@@ -1377,17 +1377,19 @@ static bool fil_crypt_realloc_iops(rotate_thread_t *state)
...
@@ -1377,17 +1377,19 @@ static bool fil_crypt_realloc_iops(rotate_thread_t *state)
return
true
;
return
true
;
}
}
/** Release allocated iops.
/** Release excess allocated iops
@param[in,out] state Rotation state */
@param state rotation state
static
void
fil_crypt_return_iops
(
rotate_thread_t
*
state
)
@param wake whether to wake up other threads */
static
void
fil_crypt_return_iops
(
rotate_thread_t
*
state
,
bool
wake
=
true
)
{
{
mysql_mutex_assert_owner
(
&
fil_crypt_threads_mutex
);
mysql_mutex_assert_owner
(
&
fil_crypt_threads_mutex
);
if
(
uint
iops
=
state
->
allocated_iops
)
if
(
uint
iops
=
state
->
allocated_iops
)
{
{
ut_ad
(
n_fil_crypt_iops_allocated
>=
iops
);
ut_ad
(
n_fil_crypt_iops_allocated
>=
iops
);
n_fil_crypt_iops_allocated
-=
iops
;
n_fil_crypt_iops_allocated
-=
iops
;
state
->
allocated_iops
=
0
;
state
->
allocated_iops
=
0
;
if
(
wake
)
mysql_cond_broadcast
(
&
fil_crypt_threads_cond
);
mysql_cond_broadcast
(
&
fil_crypt_threads_cond
);
}
}
...
@@ -1400,7 +1402,8 @@ static void fil_crypt_return_iops(rotate_thread_t *state)
...
@@ -1400,7 +1402,8 @@ static void fil_crypt_return_iops(rotate_thread_t *state)
the encryption parameters were changed
the encryption parameters were changed
@param encrypt expected state of innodb_encrypt_tables
@param encrypt expected state of innodb_encrypt_tables
@return the next tablespace to process (n_pending_ops incremented)
@return the next tablespace to process (n_pending_ops incremented)
@retval NULL if this was the last */
@retval fil_system.temp_space if there is no work to do
@retval nullptr upon reaching the end of the iteration */
inline
fil_space_t
*
fil_system_t
::
keyrotate_next
(
fil_space_t
*
space
,
inline
fil_space_t
*
fil_system_t
::
keyrotate_next
(
fil_space_t
*
space
,
bool
recheck
,
bool
encrypt
)
bool
recheck
,
bool
encrypt
)
{
{
...
@@ -1435,15 +1438,20 @@ inline fil_space_t *fil_system_t::keyrotate_next(fil_space_t *space,
...
@@ -1435,15 +1438,20 @@ inline fil_space_t *fil_system_t::keyrotate_next(fil_space_t *space,
}
}
}
}
while
(
it
!=
end
)
if
(
it
==
end
)
return
temp_space
;
do
{
{
space
=
&*
it
;
space
=
&*
it
;
if
(
space
->
acquire_if_not_stopped
(
true
))
if
(
space
->
acquire_if_not_stopped
(
true
))
return
space
;
return
space
;
while
(
++
it
!=
end
&&
(
!
UT_LIST_GET_LEN
(
it
->
chain
)
||
it
->
is_stopping
()));
if
(
++
it
==
end
)
return
nullptr
;
}
}
while
(
!
UT_LIST_GET_LEN
(
it
->
chain
)
||
it
->
is_stopping
());
return
NULL
;
return
nullptr
;
}
}
/** Determine the next tablespace for encryption key rotation.
/** Determine the next tablespace for encryption key rotation.
...
@@ -1452,6 +1460,7 @@ inline fil_space_t *fil_system_t::keyrotate_next(fil_space_t *space,
...
@@ -1452,6 +1460,7 @@ inline fil_space_t *fil_system_t::keyrotate_next(fil_space_t *space,
encryption parameters were changed
encryption parameters were changed
@param encrypt expected state of innodb_encrypt_tables
@param encrypt expected state of innodb_encrypt_tables
@return the next tablespace
@return the next tablespace
@retval fil_system.temp_space if there is no work to do
@retval nullptr upon reaching the end of the iteration */
@retval nullptr upon reaching the end of the iteration */
inline
fil_space_t
*
fil_space_t
::
next
(
fil_space_t
*
space
,
bool
recheck
,
inline
fil_space_t
*
fil_space_t
::
next
(
fil_space_t
*
space
,
bool
recheck
,
bool
encrypt
)
bool
encrypt
)
...
@@ -1520,7 +1529,13 @@ static bool fil_crypt_find_space_to_rotate(
...
@@ -1520,7 +1529,13 @@ static bool fil_crypt_find_space_to_rotate(
state
->
space
=
fil_space_t
::
next
(
state
->
space
,
*
recheck
,
state
->
space
=
fil_space_t
::
next
(
state
->
space
,
*
recheck
,
key_state
->
key_version
!=
0
);
key_state
->
key_version
!=
0
);
while
(
!
state
->
should_shutdown
()
&&
state
->
space
)
{
bool
wake
=
true
;
while
(
state
->
space
&&
!
state
->
should_shutdown
())
{
if
(
state
->
space
==
fil_system
.
temp_space
)
{
wake
=
false
;
goto
done
;
}
mysql_mutex_unlock
(
&
fil_crypt_threads_mutex
);
mysql_mutex_unlock
(
&
fil_crypt_threads_mutex
);
/* If there is no crypt data and we have not yet read
/* If there is no crypt data and we have not yet read
page 0 for this tablespace, we need to read it before
page 0 for this tablespace, we need to read it before
...
@@ -1545,11 +1560,12 @@ static bool fil_crypt_find_space_to_rotate(
...
@@ -1545,11 +1560,12 @@ static bool fil_crypt_find_space_to_rotate(
if
(
state
->
space
)
{
if
(
state
->
space
)
{
state
->
space
->
release
();
state
->
space
->
release
();
done:
state
->
space
=
NULL
;
state
->
space
=
NULL
;
}
}
/* no work to do; release our allocation of I/O capacity */
/* no work to do; release our allocation of I/O capacity */
fil_crypt_return_iops
(
state
);
fil_crypt_return_iops
(
state
,
wake
);
return
true
;
return
true
;
}
}
...
...
storage/innobase/include/univ.i
View file @
c36a2a0d
...
@@ -401,6 +401,12 @@ in both 32-bit and 64-bit environments. */
...
@@ -401,6 +401,12 @@ in both 32-bit and 64-bit environments. */
#
define
INT64PF
"%lld"
#
define
INT64PF
"%lld"
#
define
UINT64scan
"llu"
#
define
UINT64scan
"llu"
#
define
UINT64PFx
"%016llx"
#
define
UINT64PFx
"%016llx"
#
elif
defined
_AIX
/* Workaround for macros expension trouble */
#
define
UINT32PF
"%u"
#
define
INT64PF
"%lld"
#
define
UINT64scan
"lu"
#
define
UINT64PFx
"%016llx"
#
else
#
else
/* Use the integer types and formatting strings defined in the C99 standard. */
/* Use the integer types and formatting strings defined in the C99 standard. */
#
define
UINT32PF
"%"
PRIu32
#
define
UINT32PF
"%"
PRIu32
...
...
storage/maria/CMakeLists.txt
View file @
c36a2a0d
...
@@ -52,6 +52,11 @@ IF(APPLE)
...
@@ -52,6 +52,11 @@ IF(APPLE)
ADD_DEFINITIONS
(
-fno-common
)
ADD_DEFINITIONS
(
-fno-common
)
ENDIF
()
ENDIF
()
IF
(
CMAKE_SYSTEM_NAME MATCHES AIX
)
# Workaround linker bug on AIX
SET
(
CMAKE_EXE_LINKER_FLAGS
"
${
CMAKE_EXE_LINKER_FLAGS
}
-Wl,-berok"
)
ENDIF
()
MYSQL_ADD_PLUGIN
(
aria
${
ARIA_SOURCES
}
STORAGE_ENGINE MANDATORY
MYSQL_ADD_PLUGIN
(
aria
${
ARIA_SOURCES
}
STORAGE_ENGINE MANDATORY
LINK_LIBRARIES myisam mysys mysys_ssl
LINK_LIBRARIES myisam mysys mysys_ssl
RECOMPILE_FOR_EMBEDDED
)
RECOMPILE_FOR_EMBEDDED
)
...
...
storage/myisam/CMakeLists.txt
View file @
c36a2a0d
...
@@ -27,6 +27,11 @@ SET(MYISAM_SOURCES ft_boolean_search.c ft_nlq_search.c ft_parser.c ft_static.c
...
@@ -27,6 +27,11 @@ SET(MYISAM_SOURCES ft_boolean_search.c ft_nlq_search.c ft_parser.c ft_static.c
rt_split.c sort.c sp_key.c mi_extrafunc.h myisamdef.h
rt_split.c sort.c sp_key.c mi_extrafunc.h myisamdef.h
rt_index.h mi_rkey.c
)
rt_index.h mi_rkey.c
)
IF
(
CMAKE_SYSTEM_NAME MATCHES AIX
)
# Workaround linker bug on AIX
SET
(
CMAKE_EXE_LINKER_FLAGS
"
${
CMAKE_EXE_LINKER_FLAGS
}
-Wl,-berok"
)
ENDIF
()
MYSQL_ADD_PLUGIN
(
myisam
${
MYISAM_SOURCES
}
MYSQL_ADD_PLUGIN
(
myisam
${
MYISAM_SOURCES
}
STORAGE_ENGINE
STORAGE_ENGINE
MANDATORY
MANDATORY
...
...
storage/perfschema/CMakeLists.txt
View file @
c36a2a0d
...
@@ -33,6 +33,11 @@ IF (SSL_DEFINES)
...
@@ -33,6 +33,11 @@ IF (SSL_DEFINES)
ADD_DEFINITIONS
(
${
SSL_DEFINES
}
)
ADD_DEFINITIONS
(
${
SSL_DEFINES
}
)
ENDIF
()
ENDIF
()
IF
(
CMAKE_SYSTEM_NAME MATCHES AIX
)
# Workaround linker bug on AIX
SET
(
CMAKE_EXE_LINKER_FLAGS
"
${
CMAKE_EXE_LINKER_FLAGS
}
-Wl,-berok"
)
ENDIF
()
#
#
# Maintainer: keep this list sorted, to avoid merge collisions.
# Maintainer: keep this list sorted, to avoid merge collisions.
# Tip: ls -1 *.h, ls -1 *.cc
# Tip: ls -1 *.h, ls -1 *.cc
...
...
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