summaryrefslogtreecommitdiff
path: root/storage/tokudb
diff options
context:
space:
mode:
Diffstat (limited to 'storage/tokudb')
-rw-r--r--storage/tokudb/.clang-format40
-rw-r--r--storage/tokudb/PerconaFT/COPYING.GPLv24
-rw-r--r--storage/tokudb/PerconaFT/cmake/merge_archives_unix.cmake.in2
-rw-r--r--storage/tokudb/PerconaFT/third_party/snappy-1.1.2/aclocal.m44
-rwxr-xr-xstorage/tokudb/PerconaFT/third_party/snappy-1.1.2/configure2
-rw-r--r--storage/tokudb/PerconaFT/third_party/snappy-1.1.2/ltmain.sh2
-rw-r--r--storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/COPYING.GPLv24
-rw-r--r--storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/COPYING.LGPLv2.14
-rwxr-xr-xstorage/tokudb/PerconaFT/third_party/xz-4.999.9beta/build-aux/config.sub2
-rwxr-xr-xstorage/tokudb/PerconaFT/third_party/xz-4.999.9beta/build-aux/ltmain.sh2
-rwxr-xr-xstorage/tokudb/PerconaFT/third_party/xz-4.999.9beta/configure2
-rw-r--r--storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/lib/getopt.c2
-rw-r--r--storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/lib/getopt.in.h2
-rw-r--r--storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/lib/getopt1.c2
-rw-r--r--storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/lib/getopt_int.h2
-rw-r--r--storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/m4/libtool.m42
-rw-r--r--storage/tokudb/ha_tokudb.cc28
-rw-r--r--storage/tokudb/ha_tokudb.h2
-rw-r--r--storage/tokudb/ha_tokudb_mrr_mysql.cc1
-rw-r--r--storage/tokudb/mysql-test/rpl/r/rpl_tokudb_mixed_dml.result2
-rw-r--r--storage/tokudb/mysql-test/tokudb_bugs/r/PS-5158.result6
-rw-r--r--storage/tokudb/mysql-test/tokudb_bugs/r/PS-5163.result5
-rw-r--r--storage/tokudb/mysql-test/tokudb_bugs/t/PS-5158-master.opt2
-rw-r--r--storage/tokudb/mysql-test/tokudb_bugs/t/PS-5158.test27
-rw-r--r--storage/tokudb/mysql-test/tokudb_bugs/t/PS-5163.test11
25 files changed, 130 insertions, 32 deletions
diff --git a/storage/tokudb/.clang-format b/storage/tokudb/.clang-format
new file mode 100644
index 00000000000..2ccc4b3fb24
--- /dev/null
+++ b/storage/tokudb/.clang-format
@@ -0,0 +1,40 @@
+# .clang-format file for Percona TokuDB
+# Minimum required version of clang-format is 5.0.1. Earlier versions will work
+# but may need removal of some parameters.
+Language: Cpp
+BasedOnStyle: Google
+
+# The following parameters are default for Google style,
+# but as they are important for our project they
+# are set explicitly here
+AlignAfterOpenBracket: Align
+BreakBeforeBinaryOperators: None
+ColumnLimit: 80
+PointerAlignment: Left
+SpaceAfterCStyleCast: false
+SpaceBeforeAssignmentOperators: true
+SpaceBeforeParens: ControlStatements
+SpaceInEmptyParentheses: false
+SpacesBeforeTrailingComments: 2
+SpacesInAngles: false
+SpacesInContainerLiterals: true
+SpacesInCStyleCastParentheses: false
+SpacesInParentheses: false
+SpacesInSquareBrackets: false
+UseTab: Never
+
+# Non-default parameters
+NamespaceIndentation: All
+IndentWidth: 4
+TabWidth: 4
+AllowShortIfStatementsOnASingleLine: false
+AllowShortLoopsOnASingleLine: false
+BinPackParameters: false
+BinPackArguments: false
+ExperimentalAutoDetectBinPacking: false
+AllowAllParametersOfDeclarationOnNextLine: false
+# not supported in 5.0.1
+#AlignConsecutiveAssignments: yes
+#AlignConsecutiveDeclarations: yes
+BreakStringLiterals: false
+ReflowComments: true
diff --git a/storage/tokudb/PerconaFT/COPYING.GPLv2 b/storage/tokudb/PerconaFT/COPYING.GPLv2
index d511905c164..6e475df5526 100644
--- a/storage/tokudb/PerconaFT/COPYING.GPLv2
+++ b/storage/tokudb/PerconaFT/COPYING.GPLv2
@@ -2,7 +2,7 @@
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -305,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA.
Also add information on how to contact you by electronic and paper mail.
diff --git a/storage/tokudb/PerconaFT/cmake/merge_archives_unix.cmake.in b/storage/tokudb/PerconaFT/cmake/merge_archives_unix.cmake.in
index 0a59e4553df..ef9af445dcc 100644
--- a/storage/tokudb/PerconaFT/cmake/merge_archives_unix.cmake.in
+++ b/storage/tokudb/PerconaFT/cmake/merge_archives_unix.cmake.in
@@ -12,7 +12,7 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
# This script merges many static libraries into
# one big library on Unix.
diff --git a/storage/tokudb/PerconaFT/third_party/snappy-1.1.2/aclocal.m4 b/storage/tokudb/PerconaFT/third_party/snappy-1.1.2/aclocal.m4
index 470ed7edd42..881dba8f0cd 100644
--- a/storage/tokudb/PerconaFT/third_party/snappy-1.1.2/aclocal.m4
+++ b/storage/tokudb/PerconaFT/third_party/snappy-1.1.2/aclocal.m4
@@ -58,7 +58,7 @@ m4_define([_LT_COPYING], [dnl
# along with GNU Libtool; see the file COPYING. If not, a copy
# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA.
])
# serial 57 LT_INIT
@@ -8643,7 +8643,7 @@ m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
diff --git a/storage/tokudb/PerconaFT/third_party/snappy-1.1.2/configure b/storage/tokudb/PerconaFT/third_party/snappy-1.1.2/configure
index c6b02e8ab88..5149d10147e 100755
--- a/storage/tokudb/PerconaFT/third_party/snappy-1.1.2/configure
+++ b/storage/tokudb/PerconaFT/third_party/snappy-1.1.2/configure
@@ -18060,7 +18060,7 @@ $as_echo X"$file" |
# along with GNU Libtool; see the file COPYING. If not, a copy
# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA.
# The names of the tagged configurations supported by this script.
diff --git a/storage/tokudb/PerconaFT/third_party/snappy-1.1.2/ltmain.sh b/storage/tokudb/PerconaFT/third_party/snappy-1.1.2/ltmain.sh
index c2852d85613..9385c3e677d 100644
--- a/storage/tokudb/PerconaFT/third_party/snappy-1.1.2/ltmain.sh
+++ b/storage/tokudb/PerconaFT/third_party/snappy-1.1.2/ltmain.sh
@@ -26,7 +26,7 @@
# along with GNU Libtool; see the file COPYING. If not, a copy
# can be downloaded from http://www.gnu.org/licenses/gpl.html,
# or obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA.
# Usage: $progname [OPTION]... [MODE-ARG]...
#
diff --git a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/COPYING.GPLv2 b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/COPYING.GPLv2
index d511905c164..6e475df5526 100644
--- a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/COPYING.GPLv2
+++ b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/COPYING.GPLv2
@@ -2,7 +2,7 @@
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -305,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA.
Also add information on how to contact you by electronic and paper mail.
diff --git a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/COPYING.LGPLv2.1 b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/COPYING.LGPLv2.1
index 5ab7695ab8c..dbe030ddc61 100644
--- a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/COPYING.LGPLv2.1
+++ b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/COPYING.LGPLv2.1
@@ -2,7 +2,7 @@
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -485,7 +485,7 @@ convey the exclusion of warranty; and each file should have at least the
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
Also add information on how to contact you by electronic and paper mail.
diff --git a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/build-aux/config.sub b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/build-aux/config.sub
index a39437d0158..8b9b9b533cd 100755
--- a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/build-aux/config.sub
+++ b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/build-aux/config.sub
@@ -23,7 +23,7 @@ timestamp='2009-04-17'
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# 02110-1335 USA.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
diff --git a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/build-aux/ltmain.sh b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/build-aux/ltmain.sh
index b36c4ad366c..58923bb7bfe 100755
--- a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/build-aux/ltmain.sh
+++ b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/build-aux/ltmain.sh
@@ -26,7 +26,7 @@
# along with GNU Libtool; see the file COPYING. If not, a copy
# can be downloaded from http://www.gnu.org/licenses/gpl.html,
# or obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA.
# Usage: $progname [OPTION]... [MODE-ARG]...
#
diff --git a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/configure b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/configure
index bfa3d4ad4df..d0f14a1f3ef 100755
--- a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/configure
+++ b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/configure
@@ -22091,7 +22091,7 @@ $as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
# along with GNU Libtool; see the file COPYING. If not, a copy
# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA.
# The names of the tagged configurations supported by this script.
diff --git a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/lib/getopt.c b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/lib/getopt.c
index a5908a4ad37..e5a2e45c7fe 100644
--- a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/lib/getopt.c
+++ b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/lib/getopt.c
@@ -20,7 +20,7 @@
You should have received a copy of the GNU Lesser General Public License along
with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */
#ifndef _LIBC
# include <config.h>
diff --git a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/lib/getopt.in.h b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/lib/getopt.in.h
index fc2a1351026..9b79b63d101 100644
--- a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/lib/getopt.in.h
+++ b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/lib/getopt.in.h
@@ -17,7 +17,7 @@
You should have received a copy of the GNU Lesser General Public License along
with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */
#ifndef _GETOPT_H
diff --git a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/lib/getopt1.c b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/lib/getopt1.c
index e7df1c8b17c..53e588d5493 100644
--- a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/lib/getopt1.c
+++ b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/lib/getopt1.c
@@ -17,7 +17,7 @@
You should have received a copy of the GNU Lesser General Public License along
with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */
#ifdef _LIBC
# include <getopt.h>
diff --git a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/lib/getopt_int.h b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/lib/getopt_int.h
index 7eed4f1a8ba..1585d4106d0 100644
--- a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/lib/getopt_int.h
+++ b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/lib/getopt_int.h
@@ -17,7 +17,7 @@
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */
#ifndef _GETOPT_INT_H
#define _GETOPT_INT_H 1
diff --git a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/m4/libtool.m4 b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/m4/libtool.m4
index faec0c309e8..1317892b7bb 100644
--- a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/m4/libtool.m4
+++ b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/m4/libtool.m4
@@ -34,7 +34,7 @@ m4_define([_LT_COPYING], [dnl
# along with GNU Libtool; see the file COPYING. If not, a copy
# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA.
])
# serial 56 LT_INIT
diff --git a/storage/tokudb/ha_tokudb.cc b/storage/tokudb/ha_tokudb.cc
index c39b8099cd2..2be8556a123 100644
--- a/storage/tokudb/ha_tokudb.cc
+++ b/storage/tokudb/ha_tokudb.cc
@@ -3368,15 +3368,17 @@ void ha_tokudb::start_bulk_insert(ha_rows rows) {
int ha_tokudb::bulk_insert_poll(void* extra, float progress) {
LOADER_CONTEXT context = (LOADER_CONTEXT)extra;
if (thd_killed(context->thd)) {
- sprintf(context->write_status_msg,
- "The process has been killed, aborting bulk load.");
+ snprintf(context->write_status_msg,
+ sizeof(context->write_status_msg),
+ "The process has been killed, aborting bulk load.");
return ER_ABORTING_CONNECTION;
}
float percentage = progress * 100;
- sprintf(context->write_status_msg,
- "Loading of data t %s about %.1f%% done",
- context->ha->share->full_table_name(),
- percentage);
+ snprintf(context->write_status_msg,
+ sizeof(context->write_status_msg),
+ "Loading of data t %s about %.1f%% done",
+ context->ha->share->full_table_name(),
+ percentage);
thd_proc_info(context->thd, context->write_status_msg);
#ifdef HA_TOKUDB_HAS_THD_PROGRESS
thd_progress_report(context->thd, (unsigned long long)percentage, 100);
@@ -8538,15 +8540,17 @@ cleanup:
int ha_tokudb::tokudb_add_index_poll(void* extra, float progress) {
LOADER_CONTEXT context = (LOADER_CONTEXT)extra;
if (thd_killed(context->thd)) {
- sprintf(context->write_status_msg,
- "The process has been killed, aborting add index.");
+ snprintf(context->write_status_msg,
+ sizeof(context->write_status_msg),
+ "The process has been killed, aborting add index.");
return ER_ABORTING_CONNECTION;
}
float percentage = progress * 100;
- sprintf(context->write_status_msg,
- "Adding of indexes to %s about %.1f%% done",
- context->ha->share->full_table_name(),
- percentage);
+ snprintf(context->write_status_msg,
+ sizeof(context->write_status_msg),
+ "Adding of indexes to %s about %.1f%% done",
+ context->ha->share->full_table_name(),
+ percentage);
thd_proc_info(context->thd, context->write_status_msg);
#ifdef HA_TOKUDB_HAS_THD_PROGRESS
thd_progress_report(context->thd, (unsigned long long)percentage, 100);
diff --git a/storage/tokudb/ha_tokudb.h b/storage/tokudb/ha_tokudb.h
index 58121f9ecb1..933055a9087 100644
--- a/storage/tokudb/ha_tokudb.h
+++ b/storage/tokudb/ha_tokudb.h
@@ -41,7 +41,7 @@ class ha_tokudb;
typedef struct loader_context {
THD* thd;
- char write_status_msg[200];
+ char write_status_msg[1024];
ha_tokudb* ha;
} *LOADER_CONTEXT;
diff --git a/storage/tokudb/ha_tokudb_mrr_mysql.cc b/storage/tokudb/ha_tokudb_mrr_mysql.cc
index 84b64009ef2..480ae23802b 100644
--- a/storage/tokudb/ha_tokudb_mrr_mysql.cc
+++ b/storage/tokudb/ha_tokudb_mrr_mysql.cc
@@ -31,6 +31,7 @@ int ha_tokudb::multi_range_read_init(RANGE_SEQ_IF *seq, void *seq_init_param,
uint n_ranges, uint mode,
HANDLER_BUFFER *buf)
{
+ ds_mrr.init(this, table);
return ds_mrr.dsmrr_init(this, seq, seq_init_param, n_ranges, mode, buf);
}
diff --git a/storage/tokudb/mysql-test/rpl/r/rpl_tokudb_mixed_dml.result b/storage/tokudb/mysql-test/rpl/r/rpl_tokudb_mixed_dml.result
index df3ea1d6de6..a639bf6e76c 100644
--- a/storage/tokudb/mysql-test/rpl/r/rpl_tokudb_mixed_dml.result
+++ b/storage/tokudb/mysql-test/rpl/r/rpl_tokudb_mixed_dml.result
@@ -682,6 +682,8 @@ DROP TRIGGER tr1;
******************** EVENTS ********************
INSERT INTO t1 VALUES(1, 'test1');
CREATE EVENT e1 ON SCHEDULE EVERY '1' SECOND COMMENT 'e_second_comment' DO DELETE FROM t1;
+Warnings:
+Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
SHOW EVENTS;
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
test_rpl e1 root@localhost SYSTEM RECURRING NULL 1 # # NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
diff --git a/storage/tokudb/mysql-test/tokudb_bugs/r/PS-5158.result b/storage/tokudb/mysql-test/tokudb_bugs/r/PS-5158.result
new file mode 100644
index 00000000000..3dfbb95aed9
--- /dev/null
+++ b/storage/tokudb/mysql-test/tokudb_bugs/r/PS-5158.result
@@ -0,0 +1,6 @@
+CREATE DATABASE `new..............................................end`;
+USE `new..............................................end`;
+CREATE TABLE t1(a INT KEY,b INT)ENGINE=TokuDB;
+INSERT INTO t1 VALUES(1,11),(2,12),(3,13),(4,14),(5,15);
+USE test;
+DROP DATABASE `new..............................................end`;
diff --git a/storage/tokudb/mysql-test/tokudb_bugs/r/PS-5163.result b/storage/tokudb/mysql-test/tokudb_bugs/r/PS-5163.result
new file mode 100644
index 00000000000..27e19150945
--- /dev/null
+++ b/storage/tokudb/mysql-test/tokudb_bugs/r/PS-5163.result
@@ -0,0 +1,5 @@
+CREATE TABLE t1(c1 INT default 0,c2 INT,c3 CHAR(10),c4 CHAR(10),c5 CHAR(10),PRIMARY KEY(c1),INDEX(c3,c4(1),c5(1)),INDEX(c2)) ENGINE=TokuDB;
+INSERT INTO t1 VALUES(),(),(),(),();
+ERROR 23000: Duplicate entry '0' for key 'PRIMARY'
+UPDATE t1 SET c1=1 WHERE c1=1 OR c2=1;
+DROP TABLE t1;
diff --git a/storage/tokudb/mysql-test/tokudb_bugs/t/PS-5158-master.opt b/storage/tokudb/mysql-test/tokudb_bugs/t/PS-5158-master.opt
new file mode 100644
index 00000000000..eb850c4bd78
--- /dev/null
+++ b/storage/tokudb/mysql-test/tokudb_bugs/t/PS-5158-master.opt
@@ -0,0 +1,2 @@
+--loose-tokudb_dir_per_db=ON
+
diff --git a/storage/tokudb/mysql-test/tokudb_bugs/t/PS-5158.test b/storage/tokudb/mysql-test/tokudb_bugs/t/PS-5158.test
new file mode 100644
index 00000000000..e0235e7cebd
--- /dev/null
+++ b/storage/tokudb/mysql-test/tokudb_bugs/t/PS-5158.test
@@ -0,0 +1,27 @@
+# Test for PS-5163 : [PS8QA] handle_fatal_signal (sig=11) in DsMrr_impl::dsmrr_init
+# and PS-4828 : Inserting data into TokuDB database with name that contains non-alphanumerical characters can lead to the ZN9ha_tokudb16bulk_insert_pollEPvf assertion
+#
+# The cause is a buffer overrun in LOADER_CONTEXT where the char buffer used for
+# maintaining the proc info string was too small and no validation or prevention
+# was being done to ensure the string stayed within the limits of the buffer.
+# Normally this would have been difficult to hit, but, now with the combination
+# of tokudb_dir_per_db=ON and the expansion of the database name from latin1
+# (or whatever) to the fscs encoding the space required for a max length
+# db.table name could be quite larger than the buffer was originally sized.
+
+--source include/have_tokudb.inc
+
+if (`SELECT @@tokudb_dir_per_db != 1`) {
+ skip Requires tokudb_dir_per_db=1;
+}
+
+CREATE DATABASE `new..............................................end`;
+USE `new..............................................end`;
+CREATE TABLE t1(a INT KEY,b INT)ENGINE=TokuDB;
+
+#
+# TokuDB bulk_insert_poll would crash here
+#
+INSERT INTO t1 VALUES(1,11),(2,12),(3,13),(4,14),(5,15);
+USE test;
+DROP DATABASE `new..............................................end`;
diff --git a/storage/tokudb/mysql-test/tokudb_bugs/t/PS-5163.test b/storage/tokudb/mysql-test/tokudb_bugs/t/PS-5163.test
new file mode 100644
index 00000000000..d370bab6517
--- /dev/null
+++ b/storage/tokudb/mysql-test/tokudb_bugs/t/PS-5163.test
@@ -0,0 +1,11 @@
+--source include/have_tokudb.inc
+
+CREATE TABLE t1(c1 INT default 0,c2 INT,c3 CHAR(10),c4 CHAR(10),c5 CHAR(10),PRIMARY KEY(c1),INDEX(c3,c4(1),c5(1)),INDEX(c2)) ENGINE=TokuDB;
+--error ER_DUP_ENTRY
+INSERT INTO t1 VALUES(),(),(),(),();
+
+# 8.0 asserts here down in data dictionary because ha_tokudb::ds_mrr did not
+# properly call ds_mrr.init(this, table)
+UPDATE t1 SET c1=1 WHERE c1=1 OR c2=1;
+
+DROP TABLE t1;