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
a09a06d5
Commit
a09a06d5
authored
Aug 05, 2020
by
Sergei Golubchik
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'merge/merge-tokudb-5.6' into 10.1
parents
e3c18b8e
2adaaeba
Changes
42
Hide whitespace changes
Inline
Side-by-side
Showing
42 changed files
with
95 additions
and
100 deletions
+95
-100
storage/tokudb/CMakeLists.txt
storage/tokudb/CMakeLists.txt
+2
-1
storage/tokudb/PerconaFT/cmake_modules/TokuFeatureDetection.cmake
...tokudb/PerconaFT/cmake_modules/TokuFeatureDetection.cmake
+1
-1
storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake
...ge/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake
+7
-16
storage/tokudb/PerconaFT/ft/logger/logger.cc
storage/tokudb/PerconaFT/ft/logger/logger.cc
+3
-0
storage/tokudb/PerconaFT/ft/serialize/rbtree_mhs.h
storage/tokudb/PerconaFT/ft/serialize/rbtree_mhs.h
+1
-0
storage/tokudb/PerconaFT/ft/tests/cachetable-simple-close.cc
storage/tokudb/PerconaFT/ft/tests/cachetable-simple-close.cc
+5
-5
storage/tokudb/PerconaFT/ft/tests/ft-bfe-query.cc
storage/tokudb/PerconaFT/ft/tests/ft-bfe-query.cc
+1
-1
storage/tokudb/PerconaFT/ft/tests/ft-clock-test.cc
storage/tokudb/PerconaFT/ft/tests/ft-clock-test.cc
+3
-3
storage/tokudb/PerconaFT/ft/tests/ft-serialize-benchmark.cc
storage/tokudb/PerconaFT/ft/tests/ft-serialize-benchmark.cc
+3
-3
storage/tokudb/PerconaFT/ft/tests/ft-serialize-test.cc
storage/tokudb/PerconaFT/ft/tests/ft-serialize-test.cc
+7
-7
storage/tokudb/PerconaFT/ft/tests/ft-test-header.cc
storage/tokudb/PerconaFT/ft/tests/ft-test-header.cc
+1
-1
storage/tokudb/PerconaFT/ft/tests/make-tree.cc
storage/tokudb/PerconaFT/ft/tests/make-tree.cc
+1
-1
storage/tokudb/PerconaFT/ft/tests/mempool-115.cc
storage/tokudb/PerconaFT/ft/tests/mempool-115.cc
+1
-1
storage/tokudb/PerconaFT/ft/tests/msnfilter.cc
storage/tokudb/PerconaFT/ft/tests/msnfilter.cc
+1
-1
storage/tokudb/PerconaFT/ft/tests/recovery-test5123.cc
storage/tokudb/PerconaFT/ft/tests/recovery-test5123.cc
+3
-3
storage/tokudb/PerconaFT/ft/tests/test-checkpoint-during-flush.cc
...tokudb/PerconaFT/ft/tests/test-checkpoint-during-flush.cc
+2
-2
storage/tokudb/PerconaFT/ft/tests/test-checkpoint-during-merge.cc
...tokudb/PerconaFT/ft/tests/test-checkpoint-during-merge.cc
+4
-4
storage/tokudb/PerconaFT/ft/tests/test-checkpoint-during-rebalance.cc
...db/PerconaFT/ft/tests/test-checkpoint-during-rebalance.cc
+3
-3
storage/tokudb/PerconaFT/ft/tests/test-checkpoint-during-split.cc
...tokudb/PerconaFT/ft/tests/test-checkpoint-during-split.cc
+4
-4
storage/tokudb/PerconaFT/ft/tests/test-dirty-flushes-on-cleaner.cc
...okudb/PerconaFT/ft/tests/test-dirty-flushes-on-cleaner.cc
+3
-3
storage/tokudb/PerconaFT/ft/tests/test-flushes-on-cleaner.cc
storage/tokudb/PerconaFT/ft/tests/test-flushes-on-cleaner.cc
+3
-3
storage/tokudb/PerconaFT/ft/tests/test-pick-child-to-flush.cc
...age/tokudb/PerconaFT/ft/tests/test-pick-child-to-flush.cc
+10
-10
storage/tokudb/PerconaFT/ft/tests/test3884.cc
storage/tokudb/PerconaFT/ft/tests/test3884.cc
+1
-1
storage/tokudb/PerconaFT/ft/tests/verify-bad-msn.cc
storage/tokudb/PerconaFT/ft/tests/verify-bad-msn.cc
+1
-1
storage/tokudb/PerconaFT/ft/tests/verify-bad-pivots.cc
storage/tokudb/PerconaFT/ft/tests/verify-bad-pivots.cc
+1
-1
storage/tokudb/PerconaFT/ft/tests/verify-dup-in-leaf.cc
storage/tokudb/PerconaFT/ft/tests/verify-dup-in-leaf.cc
+1
-1
storage/tokudb/PerconaFT/ft/tests/verify-dup-pivots.cc
storage/tokudb/PerconaFT/ft/tests/verify-dup-pivots.cc
+1
-1
storage/tokudb/PerconaFT/ft/tests/verify-misrouted-msgs.cc
storage/tokudb/PerconaFT/ft/tests/verify-misrouted-msgs.cc
+1
-1
storage/tokudb/PerconaFT/ft/tests/verify-unsorted-leaf.cc
storage/tokudb/PerconaFT/ft/tests/verify-unsorted-leaf.cc
+1
-1
storage/tokudb/PerconaFT/ft/tests/verify-unsorted-pivots.cc
storage/tokudb/PerconaFT/ft/tests/verify-unsorted-pivots.cc
+1
-1
storage/tokudb/PerconaFT/ftcxx/cursor.hpp
storage/tokudb/PerconaFT/ftcxx/cursor.hpp
+2
-2
storage/tokudb/PerconaFT/locktree/lock_request.cc
storage/tokudb/PerconaFT/locktree/lock_request.cc
+4
-0
storage/tokudb/PerconaFT/locktree/lock_request.h
storage/tokudb/PerconaFT/locktree/lock_request.h
+1
-0
storage/tokudb/PerconaFT/locktree/tests/lock_request_start_retry_race.cc
...PerconaFT/locktree/tests/lock_request_start_retry_race.cc
+1
-1
storage/tokudb/PerconaFT/locktree/tests/lock_request_start_retry_race_3.cc
...rconaFT/locktree/tests/lock_request_start_retry_race_3.cc
+1
-1
storage/tokudb/PerconaFT/locktree/tests/lock_request_start_retry_wait_race_2.cc
...FT/locktree/tests/lock_request_start_retry_wait_race_2.cc
+1
-1
storage/tokudb/PerconaFT/src/tests/test.h
storage/tokudb/PerconaFT/src/tests/test.h
+2
-2
storage/tokudb/PerconaFT/src/tests/test_mostly_seq.cc
storage/tokudb/PerconaFT/src/tests/test_mostly_seq.cc
+1
-1
storage/tokudb/PerconaFT/src/tests/threaded_stress_test_helpers.h
...tokudb/PerconaFT/src/tests/threaded_stress_test_helpers.h
+3
-3
storage/tokudb/PerconaFT/src/ydb.cc
storage/tokudb/PerconaFT/src/ydb.cc
+1
-3
storage/tokudb/PerconaFT/src/ydb_db.cc
storage/tokudb/PerconaFT/src/ydb_db.cc
+1
-1
storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb-slave.opt
...age/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb-slave.opt
+0
-4
No files found.
storage/tokudb/CMakeLists.txt
View file @
a09a06d5
SET
(
TOKUDB_VERSION 5.6.4
1-84.1
)
SET
(
TOKUDB_VERSION 5.6.4
9-89.0
)
# PerconaFT only supports x86-64 and cmake-2.8.9+
IF
(
CMAKE_VERSION VERSION_LESS
"2.8.9"
)
MESSAGE
(
STATUS
"CMake 2.8.9 or higher is required by TokuDB"
)
...
...
@@ -94,6 +94,7 @@ IF(DEFINED TOKUDB_NOPATCH_CONFIG)
ADD_DEFINITIONS
(
"-DTOKUDB_NOPATCH_CONFIG=
${
TOKUDB_NOPATCH_CONFIG
}
"
)
ENDIF
()
MY_CHECK_AND_SET_COMPILER_FLAG
(
-Wno-missing-format-attribute
)
MY_CHECK_AND_SET_COMPILER_FLAG
(
-Wno-missing-field-initializers
)
IF
(
EXISTS
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/PerconaFT/"
)
...
...
storage/tokudb/PerconaFT/cmake_modules/TokuFeatureDetection.cmake
View file @
a09a06d5
...
...
@@ -134,4 +134,4 @@ static __thread int tlsvar = 0;
int main(void) { return tlsvar; }"
HAVE_GNU_TLS
)
## set TOKUDB_REVISION
set
(
CMAKE_TOKUDB_REVISION 0 CACHE
INTEGER
"Revision of tokudb."
)
set
(
CMAKE_TOKUDB_REVISION 0 CACHE
STRING
"Revision of tokudb."
)
storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake
View file @
a09a06d5
...
...
@@ -47,20 +47,18 @@ include(CheckCCompilerFlag)
include
(
CheckCXXCompilerFlag
)
## adds a compiler flag if the compiler supports it
macro
(
set
_cflags_if_supported
)
macro
(
prepend
_cflags_if_supported
)
foreach
(
flag
${
ARGN
}
)
MY_CHECK_AND_SET_COMPILER_FLAG
(
${
flag
}
)
endforeach
(
flag
)
endmacro
(
set
_cflags_if_supported
)
endmacro
(
prepend
_cflags_if_supported
)
if
(
NOT DEFINED MYSQL_PROJECT_NAME_DOCSTRING
)
set
(
OPTIONAL_CFLAGS
"
${
OPTIONAL_CFLAGS
}
-Wmissing-format-attribute"
)
endif
()
## disable some warnings
## missing-format-attribute causes warnings in some MySQL include files
## if the library is built as a part of TokuDB MySQL storage engine
set_cflags_if_supported
(
prepend_cflags_if_supported
(
-Wno-missing-field-initializers
-Wstrict-null-sentinel
-Winit-self
...
...
@@ -77,7 +75,6 @@ set_cflags_if_supported(
-fno-exceptions
-Wno-error=nonnull-compare
)
## set_cflags_if_supported_named("-Weffc++" -Weffcpp)
if
(
CMAKE_CXX_FLAGS MATCHES -fno-implicit-templates
)
# must append this because mysql sets -fno-implicit-templates and we need to override it
...
...
@@ -89,24 +86,18 @@ endif()
## Clang has stricter POD checks. So, only enable this warning on our other builds (Linux + GCC)
if
(
NOT CMAKE_CXX_COMPILER_ID MATCHES Clang
)
set
_cflags_if_supported
(
prepend
_cflags_if_supported
(
-Wpacked
)
endif
()
option
(
PROFILING
"Allow profiling and debug"
ON
)
if
(
PROFILING
)
set
_cflags_if_supported
(
prepend
_cflags_if_supported
(
-fno-omit-frame-pointer
)
endif
()
## this hits with optimized builds somewhere in ftleaf_split, we don't
## know why but we don't think it's a big deal
set_cflags_if_supported
(
-Wno-error=strict-overflow
)
# new flag sets in MySQL 8.0 seem to explicitly disable this
set
(
CMAKE_CXX_FLAGS
"
${
CMAKE_CXX_FLAGS
}
-fexceptions"
)
...
...
@@ -144,7 +135,7 @@ else ()
endif
()
## set warnings
set
_cflags_if_supported
(
prepend
_cflags_if_supported
(
-Wextra
-Wbad-function-cast
-Wno-missing-noreturn
...
...
@@ -167,7 +158,7 @@ set_cflags_if_supported(
if
(
NOT CMAKE_CXX_COMPILER_ID STREQUAL Clang
)
# Disabling -Wcast-align with clang. TODO: fix casting and re-enable it, someday.
set
_cflags_if_supported
(
-Wcast-align
)
prepend
_cflags_if_supported
(
-Wcast-align
)
endif
()
## never want these
...
...
storage/tokudb/PerconaFT/ft/logger/logger.cc
View file @
a09a06d5
...
...
@@ -50,6 +50,9 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
#include "util/status.h"
int
writing_rollback
=
0
;
extern
"C"
{
uint
force_recovery
=
0
;
}
static
const
int
log_format_version
=
TOKU_LOG_VERSION
;
...
...
storage/tokudb/PerconaFT/ft/serialize/rbtree_mhs.h
View file @
a09a06d5
...
...
@@ -193,6 +193,7 @@ namespace MhsRbTree {
BlockPair
(
OUUInt64
o
,
OUUInt64
s
)
:
_offset
(
o
),
_size
(
s
)
{}
BlockPair
(
const
BlockPair
&
o
)
:
_offset
(
o
.
_offset
),
_size
(
o
.
_size
)
{}
BlockPair
&
operator
=
(
const
BlockPair
&
)
=
default
;
int
operator
<
(
const
BlockPair
&
rhs
)
const
{
return
_offset
<
rhs
.
_offset
;
...
...
storage/tokudb/PerconaFT/ft/tests/cachetable-simple-close.cc
View file @
a09a06d5
...
...
@@ -195,13 +195,13 @@ static void test_multiple_cachefiles(bool use_same_hash) {
char
fname1
[
strlen
(
TOKU_TEST_FILENAME
)
+
sizeof
(
"_1"
)];
strcpy
(
fname1
,
TOKU_TEST_FILENAME
);
str
ncat
(
fname1
,
"_1"
,
sizeof
(
"_1"
)
);
str
cat
(
fname1
,
"_1"
);
char
fname2
[
strlen
(
TOKU_TEST_FILENAME
)
+
sizeof
(
"_2"
)];
strcpy
(
fname2
,
TOKU_TEST_FILENAME
);
str
ncat
(
fname2
,
"_2"
,
sizeof
(
"_2"
)
);
str
cat
(
fname2
,
"_2"
);
char
fname3
[
strlen
(
TOKU_TEST_FILENAME
)
+
sizeof
(
"_3"
)];
strcpy
(
fname3
,
TOKU_TEST_FILENAME
);
str
ncat
(
fname3
,
"_3"
,
sizeof
(
"_3"
)
);
str
cat
(
fname3
,
"_3"
);
unlink
(
fname1
);
unlink
(
fname2
);
...
...
@@ -280,10 +280,10 @@ static void test_evictor(void) {
char
fname1
[
strlen
(
TOKU_TEST_FILENAME
)
+
sizeof
(
"_1"
)];
strcpy
(
fname1
,
TOKU_TEST_FILENAME
);
str
ncat
(
fname1
,
"_1"
,
sizeof
(
"_1"
)
);
str
cat
(
fname1
,
"_1"
);
char
fname2
[
strlen
(
TOKU_TEST_FILENAME
)
+
sizeof
(
"_2"
)];
strcpy
(
fname2
,
TOKU_TEST_FILENAME
);
str
ncat
(
fname2
,
"_2"
,
sizeof
(
"_2"
)
);
str
cat
(
fname2
,
"_2"
);
unlink
(
fname1
);
unlink
(
fname2
);
...
...
storage/tokudb/PerconaFT/ft/tests/ft-bfe-query.cc
View file @
a09a06d5
...
...
@@ -337,7 +337,7 @@ static void test_prefetching(void) {
sn
.
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
.
height
=
1
;
sn
.
n_children
=
3
;
sn
.
dirty
=
1
;
sn
.
set_dirty
()
;
sn
.
oldest_referenced_xid_known
=
TXNID_NONE
;
uint64_t
key1
=
100
;
...
...
storage/tokudb/PerconaFT/ft/tests/ft-clock-test.cc
View file @
a09a06d5
...
...
@@ -133,7 +133,7 @@ static void test1(int fd, FT ft_h, FTNODE *dn) {
for
(
int
i
=
0
;
i
<
(
*
dn
)
->
n_children
;
i
++
)
{
invariant
(
BP_STATE
(
*
dn
,
i
)
==
PT_AVAIL
);
}
(
*
dn
)
->
dirty
=
1
;
(
*
dn
)
->
set_dirty
()
;
toku_ftnode_pe_callback
(
*
dn
,
attr
,
ft_h
,
def_pe_finalize_impl
,
nullptr
);
toku_ftnode_pe_callback
(
*
dn
,
attr
,
ft_h
,
def_pe_finalize_impl
,
nullptr
);
toku_ftnode_pe_callback
(
*
dn
,
attr
,
ft_h
,
def_pe_finalize_impl
,
nullptr
);
...
...
@@ -246,7 +246,7 @@ static void test_serialize_nonleaf(void) {
sn
.
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
.
height
=
1
;
sn
.
n_children
=
2
;
sn
.
dirty
=
1
;
sn
.
set_dirty
()
;
sn
.
oldest_referenced_xid_known
=
TXNID_NONE
;
MALLOC_N
(
2
,
sn
.
bp
);
DBT
pivotkey
;
...
...
@@ -384,7 +384,7 @@ static void test_serialize_leaf(void) {
sn
.
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
.
height
=
0
;
sn
.
n_children
=
2
;
sn
.
dirty
=
1
;
sn
.
set_dirty
()
;
sn
.
oldest_referenced_xid_known
=
TXNID_NONE
;
MALLOC_N
(
sn
.
n_children
,
sn
.
bp
);
DBT
pivotkey
;
...
...
storage/tokudb/PerconaFT/ft/tests/ft-serialize-benchmark.cc
View file @
a09a06d5
...
...
@@ -95,7 +95,7 @@ static void test_serialize_leaf(int valsize,
sn
->
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
->
height
=
0
;
sn
->
n_children
=
8
;
sn
->
dirty
=
1
;
sn
->
set_dirty
()
;
sn
->
oldest_referenced_xid_known
=
TXNID_NONE
;
MALLOC_N
(
sn
->
n_children
,
sn
->
bp
);
sn
->
pivotkeys
.
create_empty
();
...
...
@@ -173,7 +173,7 @@ static void test_serialize_leaf(int valsize,
for
(
int
i
=
0
;
i
<
ser_runs
;
i
++
)
{
gettimeofday
(
&
t
[
0
],
NULL
);
ndd
=
NULL
;
sn
->
dirty
=
1
;
sn
->
set_dirty
()
;
r
=
toku_serialize_ftnode_to
(
fd
,
make_blocknum
(
20
),
sn
,
&
ndd
,
true
,
ft
->
ft
,
false
);
invariant
(
r
==
0
);
...
...
@@ -265,7 +265,7 @@ static void test_serialize_nonleaf(int valsize,
sn
.
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
.
height
=
1
;
sn
.
n_children
=
8
;
sn
.
dirty
=
1
;
sn
.
set_dirty
()
;
sn
.
oldest_referenced_xid_known
=
TXNID_NONE
;
MALLOC_N
(
sn
.
n_children
,
sn
.
bp
);
sn
.
pivotkeys
.
create_empty
();
...
...
storage/tokudb/PerconaFT/ft/tests/ft-serialize-test.cc
View file @
a09a06d5
...
...
@@ -238,7 +238,7 @@ static void test_serialize_leaf_check_msn(enum ftnode_verify_type bft,
sn
.
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
.
height
=
0
;
sn
.
n_children
=
2
;
sn
.
dirty
=
1
;
sn
.
set_dirty
()
;
sn
.
oldest_referenced_xid_known
=
TXNID_NONE
;
MALLOC_N
(
sn
.
n_children
,
sn
.
bp
);
DBT
pivotkey
;
...
...
@@ -381,7 +381,7 @@ static void test_serialize_leaf_with_large_pivots(enum ftnode_verify_type bft,
sn
.
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
.
height
=
0
;
sn
.
n_children
=
nrows
;
sn
.
dirty
=
1
;
sn
.
set_dirty
()
;
sn
.
oldest_referenced_xid_known
=
TXNID_NONE
;
MALLOC_N
(
sn
.
n_children
,
sn
.
bp
);
...
...
@@ -538,7 +538,7 @@ static void test_serialize_leaf_with_many_rows(enum ftnode_verify_type bft,
sn
.
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
.
height
=
0
;
sn
.
n_children
=
1
;
sn
.
dirty
=
1
;
sn
.
set_dirty
()
;
sn
.
oldest_referenced_xid_known
=
TXNID_NONE
;
XMALLOC_N
(
sn
.
n_children
,
sn
.
bp
);
...
...
@@ -693,7 +693,7 @@ static void test_serialize_leaf_with_large_rows(enum ftnode_verify_type bft,
sn
.
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
.
height
=
0
;
sn
.
n_children
=
1
;
sn
.
dirty
=
1
;
sn
.
set_dirty
()
;
sn
.
oldest_referenced_xid_known
=
TXNID_NONE
;
MALLOC_N
(
sn
.
n_children
,
sn
.
bp
);
...
...
@@ -845,7 +845,7 @@ static void test_serialize_leaf_with_empty_basement_nodes(
sn
.
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
.
height
=
0
;
sn
.
n_children
=
7
;
sn
.
dirty
=
1
;
sn
.
set_dirty
()
;
sn
.
oldest_referenced_xid_known
=
TXNID_NONE
;
MALLOC_N
(
sn
.
n_children
,
sn
.
bp
);
DBT
pivotkeys
[
6
];
...
...
@@ -989,7 +989,7 @@ static void test_serialize_leaf_with_multiple_empty_basement_nodes(
sn
.
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
.
height
=
0
;
sn
.
n_children
=
4
;
sn
.
dirty
=
1
;
sn
.
set_dirty
()
;
sn
.
oldest_referenced_xid_known
=
TXNID_NONE
;
MALLOC_N
(
sn
.
n_children
,
sn
.
bp
);
DBT
pivotkeys
[
3
];
...
...
@@ -1100,7 +1100,7 @@ static void test_serialize_nonleaf(enum ftnode_verify_type bft, bool do_clone) {
sn
.
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
.
height
=
1
;
sn
.
n_children
=
2
;
sn
.
dirty
=
1
;
sn
.
set_dirty
()
;
sn
.
oldest_referenced_xid_known
=
TXNID_NONE
;
MALLOC_N
(
2
,
sn
.
bp
);
DBT
pivotkey
;
...
...
storage/tokudb/PerconaFT/ft/tests/ft-test-header.cc
View file @
a09a06d5
...
...
@@ -57,7 +57,7 @@ static void test_header (void) {
assert
(
r
==
0
);
// now insert some info into the header
FT
ft
=
t
->
ft
;
ft
->
h
->
dirty
=
1
;
ft
->
h
->
set_dirty
()
;
// cast away const because we actually want to fiddle with the header
// in this test
*
((
int
*
)
&
ft
->
h
->
layout_version_original
)
=
13
;
...
...
storage/tokudb/PerconaFT/ft/tests/make-tree.cc
View file @
a09a06d5
...
...
@@ -88,7 +88,7 @@ append_leaf(FTNODE leafnode, void *key, size_t keylen, void *val, size_t vallen)
leafnode
->
max_msn_applied_to_node_on_disk
=
msn
;
// don't forget to dirty the node
leafnode
->
dirty
=
1
;
leafnode
->
set_dirty
()
;
}
static
void
...
...
storage/tokudb/PerconaFT/ft/tests/mempool-115.cc
View file @
a09a06d5
...
...
@@ -102,7 +102,7 @@ class bndata_bugfix_test {
sn
.
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
.
height
=
0
;
sn
.
n_children
=
2
;
sn
.
dirty
=
1
;
sn
.
set_dirty
()
;
sn
.
oldest_referenced_xid_known
=
TXNID_NONE
;
MALLOC_N
(
sn
.
n_children
,
sn
.
bp
);
DBT
pivotkey
;
...
...
storage/tokudb/PerconaFT/ft/tests/msnfilter.cc
View file @
a09a06d5
...
...
@@ -161,7 +161,7 @@ append_leaf(FT_HANDLE ft, FTNODE leafnode, void *key, uint32_t keylen, void *val
}
// don't forget to dirty the node
leafnode
->
dirty
=
1
;
leafnode
->
set_dirty
()
;
}
static
void
...
...
storage/tokudb/PerconaFT/ft/tests/recovery-test5123.cc
View file @
a09a06d5
...
...
@@ -49,9 +49,9 @@ static void test_5123(void) {
test_setup
(
TOKU_TEST_FILENAME
,
&
logger
,
&
ct
);
int
r
;
TXNID_PAIR
one
=
{
.
parent_id64
=
(
TXNID
)
1
,
TXNID_NONE
};
TXNID_PAIR
two
=
{
.
parent_id64
=
(
TXNID
)
2
,
TXNID_NONE
};
TXNID_PAIR
three
=
{
.
parent_id64
=
(
TXNID
)
3
,
TXNID_NONE
};
TXNID_PAIR
one
=
{
(
TXNID
)
1
,
TXNID_NONE
};
TXNID_PAIR
two
=
{
(
TXNID
)
2
,
TXNID_NONE
};
TXNID_PAIR
three
=
{
(
TXNID
)
3
,
TXNID_NONE
};
toku_log_xbegin
(
logger
,
NULL
,
false
,
one
,
TXNID_PAIR_NONE
);
toku_log_xbegin
(
logger
,
NULL
,
false
,
three
,
TXNID_PAIR_NONE
);
...
...
storage/tokudb/PerconaFT/ft/tests/test-checkpoint-during-flush.cc
View file @
a09a06d5
...
...
@@ -245,7 +245,7 @@ doit (bool after_child_pin) {
true
);
assert
(
node
->
height
==
1
);
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
assert
(
node
->
n_children
==
1
);
if
(
after_child_pin
)
{
assert
(
toku_bnc_nbytesinbuf
(
BNC
(
node
,
0
))
==
0
);
...
...
@@ -265,7 +265,7 @@ doit (bool after_child_pin) {
true
);
assert
(
node
->
height
==
0
);
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
assert
(
node
->
n_children
==
1
);
if
(
after_child_pin
)
{
assert
(
BLB_NBYTESINDATA
(
node
,
0
)
>
0
);
...
...
storage/tokudb/PerconaFT/ft/tests/test-checkpoint-during-merge.cc
View file @
a09a06d5
...
...
@@ -270,7 +270,7 @@ doit (int state) {
true
);
assert
(
node
->
height
==
1
);
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
BLOCKNUM
left_child
,
right_child
;
// cases where we expect the checkpoint to contain the merge
if
(
state
==
ft_flush_aflter_merge
||
state
==
flt_flush_before_unpin_remove
)
{
...
...
@@ -301,7 +301,7 @@ doit (int state) {
true
);
assert
(
node
->
height
==
0
);
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
assert
(
node
->
n_children
==
1
);
assert
(
BLB_DATA
(
node
,
0
)
->
num_klpairs
()
==
1
);
toku_unpin_ftnode
(
c_ft
->
ft
,
node
);
...
...
@@ -318,7 +318,7 @@ doit (int state) {
true
);
assert
(
node
->
height
==
0
);
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
assert
(
node
->
n_children
==
1
);
assert
(
BLB_DATA
(
node
,
0
)
->
num_klpairs
()
==
1
);
toku_unpin_ftnode
(
c_ft
->
ft
,
node
);
...
...
@@ -336,7 +336,7 @@ doit (int state) {
true
);
assert
(
node
->
height
==
0
);
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
assert
(
node
->
n_children
==
1
);
assert
(
BLB_DATA
(
node
,
0
)
->
num_klpairs
()
==
2
);
toku_unpin_ftnode
(
c_ft
->
ft
,
node
);
...
...
storage/tokudb/PerconaFT/ft/tests/test-checkpoint-during-rebalance.cc
View file @
a09a06d5
...
...
@@ -284,7 +284,7 @@ doit (int state) {
true
);
assert
(
node
->
height
==
1
);
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
BLOCKNUM
left_child
,
right_child
;
assert
(
node
->
n_children
==
2
);
...
...
@@ -304,7 +304,7 @@ doit (int state) {
true
);
assert
(
node
->
height
==
0
);
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
assert
(
node
->
n_children
==
1
);
assert
(
BLB_DATA
(
node
,
0
)
->
num_klpairs
()
==
2
);
toku_unpin_ftnode
(
c_ft
->
ft
,
node
);
...
...
@@ -319,7 +319,7 @@ doit (int state) {
true
);
assert
(
node
->
height
==
0
);
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
assert
(
node
->
n_children
==
1
);
assert
(
BLB_DATA
(
node
,
0
)
->
num_klpairs
()
==
2
);
toku_unpin_ftnode
(
c_ft
->
ft
,
node
);
...
...
storage/tokudb/PerconaFT/ft/tests/test-checkpoint-during-split.cc
View file @
a09a06d5
...
...
@@ -260,7 +260,7 @@ doit (bool after_split) {
true
);
assert
(
node
->
height
==
1
);
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
BLOCKNUM
left_child
,
right_child
;
if
(
after_split
)
{
assert
(
node
->
n_children
==
2
);
...
...
@@ -287,7 +287,7 @@ doit (bool after_split) {
true
);
assert
(
node
->
height
==
0
);
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
assert
(
node
->
n_children
==
1
);
assert
(
BLB_DATA
(
node
,
0
)
->
num_klpairs
()
==
1
);
toku_unpin_ftnode
(
c_ft
->
ft
,
node
);
...
...
@@ -302,7 +302,7 @@ doit (bool after_split) {
true
);
assert
(
node
->
height
==
0
);
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
assert
(
node
->
n_children
==
1
);
assert
(
BLB_DATA
(
node
,
0
)
->
num_klpairs
()
==
1
);
toku_unpin_ftnode
(
c_ft
->
ft
,
node
);
...
...
@@ -318,7 +318,7 @@ doit (bool after_split) {
true
);
assert
(
node
->
height
==
0
);
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
assert
(
node
->
n_children
==
1
);
assert
(
BLB_DATA
(
node
,
0
)
->
num_klpairs
()
==
2
);
toku_unpin_ftnode
(
c_ft
->
ft
,
node
);
...
...
storage/tokudb/PerconaFT/ft/tests/test-dirty-flushes-on-cleaner.cc
View file @
a09a06d5
...
...
@@ -199,7 +199,7 @@ doit (void) {
&
node
,
true
);
assert
(
node
->
dirty
);
assert
(
node
->
dirty
()
);
assert
(
node
->
n_children
==
2
);
assert
(
BP_STATE
(
node
,
0
)
==
PT_AVAIL
);
assert
(
BP_STATE
(
node
,
1
)
==
PT_AVAIL
);
...
...
@@ -229,7 +229,7 @@ doit (void) {
&
node
,
true
);
assert
(
node
->
dirty
);
assert
(
node
->
dirty
()
);
assert
(
node
->
n_children
==
2
);
assert
(
BP_STATE
(
node
,
0
)
==
PT_AVAIL
);
assert
(
BP_STATE
(
node
,
1
)
==
PT_AVAIL
);
...
...
@@ -250,7 +250,7 @@ doit (void) {
&
node
,
true
);
assert
(
node
->
dirty
);
assert
(
node
->
dirty
()
);
// we expect that this flushes its buffer, that
// a merge is not done, and that the lookup
...
...
storage/tokudb/PerconaFT/ft/tests/test-flushes-on-cleaner.cc
View file @
a09a06d5
...
...
@@ -203,7 +203,7 @@ doit (bool keep_other_bn_in_memory) {
&
node
,
true
);
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
assert
(
node
->
n_children
==
2
);
// a hack to get the basement nodes evicted
for
(
int
i
=
0
;
i
<
20
;
i
++
)
{
...
...
@@ -249,7 +249,7 @@ doit (bool keep_other_bn_in_memory) {
&
node
,
true
);
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
assert
(
node
->
n_children
==
2
);
assert
(
BP_STATE
(
node
,
0
)
==
PT_AVAIL
);
if
(
keep_other_bn_in_memory
)
{
...
...
@@ -273,7 +273,7 @@ doit (bool keep_other_bn_in_memory) {
&
node
,
true
);
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
// we expect that this flushes its buffer, that
// a merge is not done, and that the lookup
...
...
storage/tokudb/PerconaFT/ft/tests/test-pick-child-to-flush.cc
View file @
a09a06d5
...
...
@@ -194,7 +194,7 @@ doit (void) {
toku_pin_node_with_min_bfe
(
&
node
,
node_internal
,
t
);
toku_ftnode_assert_fully_in_memory
(
node
);
assert
(
node
->
n_children
==
2
);
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
assert
(
toku_bnc_n_entries
(
node
->
bp
[
0
].
ptr
.
u
.
nonleaf
)
>
0
);
assert
(
toku_bnc_n_entries
(
node
->
bp
[
1
].
ptr
.
u
.
nonleaf
)
>
0
);
...
...
@@ -216,7 +216,7 @@ doit (void) {
toku_pin_node_with_min_bfe
(
&
node
,
node_internal
,
t
);
toku_ftnode_assert_fully_in_memory
(
node
);
assert
(
node
->
dirty
);
assert
(
node
->
dirty
()
);
assert
(
node
->
n_children
==
2
);
// child 0 should have empty buffer because it flushed
// child 1 should still have message in buffer
...
...
@@ -226,14 +226,14 @@ doit (void) {
r
=
toku_checkpoint
(
cp
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
CLIENT_CHECKPOINT
);
assert_zero
(
r
);
toku_pin_node_with_min_bfe
(
&
node
,
node_internal
,
t
);
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
curr_child_to_flush
=
1
;
num_flushes_called
=
0
;
toku_ft_flush_some_child
(
t
->
ft
,
node
,
&
fa
);
assert
(
num_flushes_called
==
1
);
toku_pin_node_with_min_bfe
(
&
node
,
node_internal
,
t
);
assert
(
node
->
dirty
);
assert
(
node
->
dirty
()
);
toku_ftnode_assert_fully_in_memory
(
node
);
assert
(
node
->
n_children
==
2
);
// both buffers should be empty now
...
...
@@ -244,14 +244,14 @@ doit (void) {
r
=
toku_checkpoint
(
cp
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
CLIENT_CHECKPOINT
);
assert_zero
(
r
);
toku_pin_node_with_min_bfe
(
&
node
,
node_internal
,
t
);
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
curr_child_to_flush
=
0
;
num_flushes_called
=
0
;
toku_ft_flush_some_child
(
t
->
ft
,
node
,
&
fa
);
assert
(
num_flushes_called
==
1
);
toku_pin_node_with_min_bfe
(
&
node
,
node_internal
,
t
);
assert
(
node
->
dirty
);
// nothing was flushed, but since we were trying to flush to a leaf, both become dirty
assert
(
node
->
dirty
()
);
// nothing was flushed, but since we were trying to flush to a leaf, both become dirty
toku_ftnode_assert_fully_in_memory
(
node
);
assert
(
node
->
n_children
==
2
);
// both buffers should be empty now
...
...
@@ -280,17 +280,17 @@ doit (void) {
assert
(
num_flushes_called
==
2
);
toku_pin_node_with_min_bfe
(
&
node
,
node_internal
,
t
);
assert
(
node
->
dirty
);
assert
(
node
->
dirty
()
);
toku_unpin_ftnode
(
t
->
ft
,
node
);
toku_pin_node_with_min_bfe
(
&
node
,
node_leaf
[
0
],
t
);
assert
(
node
->
dirty
);
assert
(
node
->
dirty
()
);
toku_unpin_ftnode
(
t
->
ft
,
node
);
toku_pin_node_with_min_bfe
(
&
node
,
node_leaf
[
1
],
t
);
if
(
i
==
0
)
{
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
}
else
{
assert
(
node
->
dirty
);
assert
(
node
->
dirty
()
);
}
toku_unpin_ftnode
(
t
->
ft
,
node
);
}
...
...
storage/tokudb/PerconaFT/ft/tests/test3884.cc
View file @
a09a06d5
...
...
@@ -105,7 +105,7 @@ setup_ftnode_header(struct ftnode *node)
node
->
layout_version
=
FT_LAYOUT_VERSION
;
node
->
layout_version_original
=
FT_LAYOUT_VERSION
;
node
->
height
=
0
;
node
->
dirty
=
1
;
node
->
set_dirty
()
;
node
->
oldest_referenced_xid_known
=
TXNID_NONE
;
}
...
...
storage/tokudb/PerconaFT/ft/tests/verify-bad-msn.cc
View file @
a09a06d5
...
...
@@ -93,7 +93,7 @@ append_leaf(FTNODE leafnode, void *key, size_t keylen, void *val, size_t vallen)
// leafnode->max_msn_applied_to_node = msn;
// don't forget to dirty the node
leafnode
->
dirty
=
1
;
leafnode
->
set_dirty
()
;
}
static
void
...
...
storage/tokudb/PerconaFT/ft/tests/verify-bad-pivots.cc
View file @
a09a06d5
...
...
@@ -77,7 +77,7 @@ append_leaf(FTNODE leafnode, void *key, size_t keylen, void *val, size_t vallen)
NULL
);
// don't forget to dirty the node
leafnode
->
dirty
=
1
;
leafnode
->
set_dirty
()
;
}
static
void
...
...
storage/tokudb/PerconaFT/ft/tests/verify-dup-in-leaf.cc
View file @
a09a06d5
...
...
@@ -78,7 +78,7 @@ append_leaf(FTNODE leafnode, void *key, size_t keylen, void *val, size_t vallen)
NULL
);
// don't forget to dirty the node
leafnode
->
dirty
=
1
;
leafnode
->
set_dirty
()
;
}
static
void
...
...
storage/tokudb/PerconaFT/ft/tests/verify-dup-pivots.cc
View file @
a09a06d5
...
...
@@ -77,7 +77,7 @@ append_leaf(FTNODE leafnode, void *key, size_t keylen, void *val, size_t vallen)
NULL
);
// don't forget to dirty the node
leafnode
->
dirty
=
1
;
leafnode
->
set_dirty
()
;
}
static
void
...
...
storage/tokudb/PerconaFT/ft/tests/verify-misrouted-msgs.cc
View file @
a09a06d5
...
...
@@ -78,7 +78,7 @@ append_leaf(FTNODE leafnode, void *key, size_t keylen, void *val, size_t vallen)
NULL
);
// don't forget to dirty the node
leafnode
->
dirty
=
1
;
leafnode
->
set_dirty
()
;
}
static
void
...
...
storage/tokudb/PerconaFT/ft/tests/verify-unsorted-leaf.cc
View file @
a09a06d5
...
...
@@ -80,7 +80,7 @@ append_leaf(FTNODE leafnode, void *key, size_t keylen, void *val, size_t vallen)
NULL
);
// don't forget to dirty the node
leafnode
->
dirty
=
1
;
leafnode
->
set_dirty
()
;
}
static
void
...
...
storage/tokudb/PerconaFT/ft/tests/verify-unsorted-pivots.cc
View file @
a09a06d5
...
...
@@ -77,7 +77,7 @@ append_leaf(FTNODE leafnode, void *key, size_t keylen, void *val, size_t vallen)
NULL
);
// don't forget to dirty the node
leafnode
->
dirty
=
1
;
leafnode
->
set_dirty
()
;
}
static
void
...
...
storage/tokudb/PerconaFT/ftcxx/cursor.hpp
View file @
a09a06d5
...
...
@@ -398,8 +398,8 @@ namespace ftcxx {
{}
bool
operator
()(
const
DBT
*
key
,
const
DBT
*
val
)
{
_key
=
std
::
move
(
Slice
(
*
key
).
owned
()
);
_val
=
std
::
move
(
Slice
(
*
val
).
owned
()
);
_key
=
Slice
(
*
key
).
owned
(
);
_val
=
Slice
(
*
val
).
owned
(
);
// Don't bulk fetch.
return
false
;
...
...
storage/tokudb/PerconaFT/locktree/lock_request.cc
View file @
a09a06d5
...
...
@@ -93,6 +93,10 @@ void lock_request::destroy(void) {
toku_cond_destroy
(
&
m_wait_cond
);
}
void
lock_request
::
clearmem
(
char
c
)
{
memset
(
this
,
c
,
sizeof
(
*
this
));
}
// set the lock request parameters. this API allows a lock request to be reused.
void
lock_request
::
set
(
locktree
*
lt
,
TXNID
txnid
,
const
DBT
*
left_key
,
const
DBT
*
right_key
,
lock_request
::
type
lock_type
,
bool
big_txn
,
void
*
extra
)
{
invariant
(
m_state
!=
state
::
PENDING
);
...
...
storage/tokudb/PerconaFT/locktree/lock_request.h
View file @
a09a06d5
...
...
@@ -89,6 +89,7 @@ class lock_request {
// effect: Destroys a lock request.
void
destroy
(
void
);
void
clearmem
(
char
c
);
// effect: Resets the lock request parameters, allowing it to be reused.
// requires: Lock request was already created at some point
...
...
storage/tokudb/PerconaFT/locktree/tests/lock_request_start_retry_race.cc
View file @
a09a06d5
...
...
@@ -83,7 +83,7 @@ namespace toku {
}
request
.
destroy
();
memset
(
&
request
,
0xab
,
sizeof
request
);
request
.
clearmem
(
0xab
);
toku_pthread_yield
();
if
((
i
%
10
)
==
0
)
...
...
storage/tokudb/PerconaFT/locktree/tests/lock_request_start_retry_race_3.cc
View file @
a09a06d5
...
...
@@ -96,7 +96,7 @@ namespace toku {
}
request
.
destroy
();
memset
(
&
request
,
0xab
,
sizeof
request
);
request
.
clearmem
(
0xab
);
toku_pthread_yield
();
if
((
i
%
10
)
==
0
)
...
...
storage/tokudb/PerconaFT/locktree/tests/lock_request_start_retry_wait_race_2.cc
View file @
a09a06d5
...
...
@@ -98,7 +98,7 @@ namespace toku {
}
request
.
destroy
();
memset
(
&
request
,
0xab
,
sizeof
request
);
request
.
clearmem
(
0xab
);
toku_pthread_yield
();
if
((
i
%
10
)
==
0
)
...
...
storage/tokudb/PerconaFT/src/tests/test.h
View file @
a09a06d5
...
...
@@ -428,14 +428,14 @@ static int env_del_multiple_test_no_array(
/* Some macros for evaluating blocks or functions within the scope of a
* transaction. */
#define IN_TXN_COMMIT(env, parent, txn, flags, expr) ({ \
DB_TXN *
(txn);
\
DB_TXN *
txn;
\
{ int chk_r = (env)->txn_begin((env), (parent), &(txn), (flags)); CKERR(chk_r); } \
(expr); \
{ int chk_r = (txn)->commit((txn), 0); CKERR(chk_r); } \
})
#define IN_TXN_ABORT(env, parent, txn, flags, expr) ({ \
DB_TXN *
(txn);
\
DB_TXN *
txn;
\
{ int chk_r = (env)->txn_begin((env), (parent), &(txn), (flags)); CKERR(chk_r); } \
(expr); \
{ int chk_r = (txn)->abort(txn); CKERR(chk_r); } \
...
...
storage/tokudb/PerconaFT/src/tests/test_mostly_seq.cc
View file @
a09a06d5
...
...
@@ -68,7 +68,7 @@ seqinsert (int n, float p) {
int
v
=
i
;
DBT
key
,
val
;
r
=
db
->
put
(
db
,
0
,
dbt_init
(
&
key
,
&
k
,
sizeof
k
),
dbt_init
(
&
val
,
&
v
,
sizeof
v
),
0
);
assert
(
r
==
0
);
if
(
random
()
<=
RAND_MAX
*
p
)
{
if
(
random
()
<=
static_cast
<
float
>
(
RAND_MAX
)
*
p
)
{
k
=
htonl
(
i
-
1
);
v
=
i
-
1
;
r
=
db
->
put
(
db
,
0
,
dbt_init
(
&
key
,
&
k
,
sizeof
k
),
dbt_init
(
&
val
,
&
v
,
sizeof
v
),
0
);
assert
(
r
==
0
);
...
...
storage/tokudb/PerconaFT/src/tests/threaded_stress_test_helpers.h
View file @
a09a06d5
...
...
@@ -432,17 +432,17 @@ tsv_print_perf_totals(const struct cli_args *cli_args, uint64_t *counters[], con
}
const
struct
perf_formatter
perf_formatters
[]
=
{
[
HUMAN
]
=
{
{
/* HUMAN */
.
header
=
human_print_perf_header
,
.
iteration
=
human_print_perf_iteration
,
.
totals
=
human_print_perf_totals
},
[
CSV
]
=
{
{
/* CSV */
.
header
=
csv_print_perf_header
,
.
iteration
=
csv_print_perf_iteration
,
.
totals
=
csv_print_perf_totals
},
[
TSV
]
=
{
{
/* TSV */
.
header
=
tsv_print_perf_header
,
.
iteration
=
tsv_print_perf_iteration
,
.
totals
=
tsv_print_perf_totals
...
...
storage/tokudb/PerconaFT/src/ydb.cc
View file @
a09a06d5
...
...
@@ -90,9 +90,7 @@ extern int writing_rollback;
int
toku_close_trace_file
(
void
)
{
return
0
;
}
#endif
extern
"C"
{
uint
force_recovery
=
0
;
}
extern
uint
force_recovery
;
// Set when env is panicked, never cleared.
static
int
env_is_panicked
=
0
;
...
...
storage/tokudb/PerconaFT/src/ydb_db.cc
View file @
a09a06d5
...
...
@@ -508,7 +508,7 @@ int toku_db_open_iname(DB * db, DB_TXN * txn, const char *iname_in_env, uint32_t
struct
lt_on_create_callback_extra
on_create_extra
=
{
.
txn
=
txn
,
.
ft_handle
=
db
->
i
->
ft_handle
,
open_rw
.
open_rw
=
false
};
db
->
i
->
lt
=
db
->
dbenv
->
i
->
ltm
.
get_lt
(
db
->
i
->
dict_id
,
toku_ft_get_comparator
(
db
->
i
->
ft_handle
),
...
...
storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb-slave.opt
View file @
a09a06d5
--log-warnings=0 --slave-transaction-retries=0
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