Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
R
rust-rocksdb
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
fangzongwu
rust-rocksdb
Commits
e2e4ac24
Unverified
Commit
e2e4ac24
authored
Oct 10, 2018
by
Huachao Huang
Committed by
GitHub
Oct 10, 2018
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
metadata: fix lifetime (#222)
parent
f7205e63
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
50 additions
and
65 deletions
+50
-65
metadata.rs
src/metadata.rs
+23
-7
rocksdb.rs
src/rocksdb.rs
+1
-2
test_compact_range.rs
tests/test_compact_range.rs
+7
-18
test_compaction_filter.rs
tests/test_compaction_filter.rs
+2
-4
test_delete_range.rs
tests/test_delete_range.rs
+13
-26
test_iterator.rs
tests/test_iterator.rs
+2
-4
test_prefix_extractor.rs
tests/test_prefix_extractor.rs
+1
-2
test_rocksdb_options.rs
tests/test_rocksdb_options.rs
+1
-2
No files found.
src/metadata.rs
View file @
e2e4ac24
...
@@ -32,7 +32,7 @@ impl ColumnFamilyMetaData {
...
@@ -32,7 +32,7 @@ impl ColumnFamilyMetaData {
let
n
=
crocksdb_ffi
::
crocksdb_column_family_meta_data_level_count
(
self
.inner
);
let
n
=
crocksdb_ffi
::
crocksdb_column_family_meta_data_level_count
(
self
.inner
);
for
i
in
0
..
n
{
for
i
in
0
..
n
{
let
data
=
crocksdb_ffi
::
crocksdb_column_family_meta_data_level_data
(
self
.inner
,
i
);
let
data
=
crocksdb_ffi
::
crocksdb_column_family_meta_data_level_data
(
self
.inner
,
i
);
levels
.push
(
LevelMetaData
{
inner
:
data
}
);
levels
.push
(
LevelMetaData
::
from_ptr
(
data
,
self
)
);
}
}
}
}
levels
levels
...
@@ -47,29 +47,45 @@ impl Drop for ColumnFamilyMetaData {
...
@@ -47,29 +47,45 @@ impl Drop for ColumnFamilyMetaData {
}
}
}
}
pub
struct
LevelMetaData
{
pub
struct
LevelMetaData
<
'a
>
{
inner
:
*
const
DBLevelMetaData
,
inner
:
*
const
DBLevelMetaData
,
_mark
:
&
'a
ColumnFamilyMetaData
,
}
}
impl
LevelMetaData
{
impl
<
'a
>
LevelMetaData
<
'a
>
{
pub
fn
get_files
(
&
self
)
->
Vec
<
SstFileMetaData
>
{
pub
fn
from_ptr
(
inner
:
*
const
DBLevelMetaData
,
_mark
:
&
'a
ColumnFamilyMetaData
,
)
->
LevelMetaData
{
LevelMetaData
{
inner
,
_mark
}
}
pub
fn
get_files
(
&
self
)
->
Vec
<
SstFileMetaData
<
'a
>>
{
let
mut
files
=
Vec
::
new
();
let
mut
files
=
Vec
::
new
();
unsafe
{
unsafe
{
let
n
=
crocksdb_ffi
::
crocksdb_level_meta_data_file_count
(
self
.inner
);
let
n
=
crocksdb_ffi
::
crocksdb_level_meta_data_file_count
(
self
.inner
);
for
i
in
0
..
n
{
for
i
in
0
..
n
{
let
data
=
crocksdb_ffi
::
crocksdb_level_meta_data_file_data
(
self
.inner
,
i
);
let
data
=
crocksdb_ffi
::
crocksdb_level_meta_data_file_data
(
self
.inner
,
i
);
files
.push
(
SstFileMetaData
{
inner
:
data
}
);
files
.push
(
SstFileMetaData
::
from_ptr
(
data
,
self
._mark
)
);
}
}
}
}
files
files
}
}
}
}
pub
struct
SstFileMetaData
{
pub
struct
SstFileMetaData
<
'a
>
{
inner
:
*
const
DBSstFileMetaData
,
inner
:
*
const
DBSstFileMetaData
,
_mark
:
&
'a
ColumnFamilyMetaData
,
}
}
impl
SstFileMetaData
{
impl
<
'a
>
SstFileMetaData
<
'a
>
{
pub
fn
from_ptr
(
inner
:
*
const
DBSstFileMetaData
,
_mark
:
&
'a
ColumnFamilyMetaData
,
)
->
SstFileMetaData
{
SstFileMetaData
{
inner
,
_mark
}
}
pub
fn
get_size
(
&
self
)
->
usize
{
pub
fn
get_size
(
&
self
)
->
usize
{
unsafe
{
crocksdb_ffi
::
crocksdb_sst_file_meta_data_size
(
self
.inner
)
}
unsafe
{
crocksdb_ffi
::
crocksdb_sst_file_meta_data_size
(
self
.inner
)
}
}
}
...
...
src/rocksdb.rs
View file @
e2e4ac24
...
@@ -2454,8 +2454,7 @@ mod test {
...
@@ -2454,8 +2454,7 @@ mod test {
db1
.put
(
b
"k2"
,
b
"v2"
)
.unwrap
();
db1
.put
(
b
"k2"
,
b
"v2"
)
.unwrap
();
db1
.flush
(
true
)
.unwrap
();
db1
.flush
(
true
)
.unwrap
();
db1
.compact_range
(
None
,
None
);
db1
.compact_range
(
None
,
None
);
})
})
.unwrap
();
.unwrap
();
// Wait until all currently running background processes finish.
// Wait until all currently running background processes finish.
db
.pause_bg_work
();
db
.pause_bg_work
();
assert_eq!
(
assert_eq!
(
...
...
tests/test_compact_range.rs
View file @
e2e4ac24
...
@@ -101,35 +101,24 @@ fn test_compact_range_bottommost_level_compaction() {
...
@@ -101,35 +101,24 @@ fn test_compact_range_bottommost_level_compaction() {
compact_opts
.set_target_level
(
bottommost_level
);
compact_opts
.set_target_level
(
bottommost_level
);
db
.compact_range_cf_opt
(
cf_handle
,
&
compact_opts
,
None
,
None
);
db
.compact_range_cf_opt
(
cf_handle
,
&
compact_opts
,
None
,
None
);
let
bottommost_files
=
db
let
metadata
=
db
.get_column_family_meta_data
(
cf_handle
);
.get_column_family_meta_data
(
cf_handle
)
let
bottommost_files
=
metadata
.get_levels
()
.last
()
.unwrap
()
.get_files
();
.get_levels
()
.last
()
.unwrap
()
.get_files
();
assert_eq!
(
bottommost_files
.len
(),
1
);
assert_eq!
(
bottommost_files
.len
(),
1
);
let
bottommost_filename
=
bottommost_files
[
0
]
.get_name
();
let
bottommost_filename
=
bottommost_files
[
0
]
.get_name
();
// Skip bottommost level compaction
// Skip bottommost level compaction
compact_opts
.set_bottommost_level_compaction
(
DBBottommostLevelCompaction
::
Skip
);
compact_opts
.set_bottommost_level_compaction
(
DBBottommostLevelCompaction
::
Skip
);
db
.compact_range_cf_opt
(
cf_handle
,
&
compact_opts
,
None
,
None
);
db
.compact_range_cf_opt
(
cf_handle
,
&
compact_opts
,
None
,
None
);
let
bottommost_files
=
db
let
metadata
=
db
.get_column_family_meta_data
(
cf_handle
);
.get_column_family_meta_data
(
cf_handle
)
let
bottommost_files
=
metadata
.get_levels
()
.last
()
.unwrap
()
.get_files
();
.get_levels
()
.last
()
.unwrap
()
.get_files
();
assert_eq!
(
bottommost_files
.len
(),
1
);
assert_eq!
(
bottommost_files
.len
(),
1
);
assert_eq!
(
bottommost_filename
,
bottommost_files
[
0
]
.get_name
());
assert_eq!
(
bottommost_filename
,
bottommost_files
[
0
]
.get_name
());
// Force bottommost level compaction
// Force bottommost level compaction
compact_opts
.set_bottommost_level_compaction
(
DBBottommostLevelCompaction
::
Force
);
compact_opts
.set_bottommost_level_compaction
(
DBBottommostLevelCompaction
::
Force
);
db
.compact_range_cf_opt
(
cf_handle
,
&
compact_opts
,
None
,
None
);
db
.compact_range_cf_opt
(
cf_handle
,
&
compact_opts
,
None
,
None
);
let
bottommost_files
=
db
let
metadata
=
db
.get_column_family_meta_data
(
cf_handle
);
.get_column_family_meta_data
(
cf_handle
)
let
bottommost_files
=
metadata
.get_levels
()
.last
()
.unwrap
()
.get_files
();
.get_levels
()
.last
()
.unwrap
()
.get_files
();
assert_eq!
(
bottommost_files
.len
(),
1
);
assert_eq!
(
bottommost_files
.len
(),
1
);
assert_ne!
(
bottommost_filename
,
bottommost_files
[
0
]
.get_name
());
assert_ne!
(
bottommost_filename
,
bottommost_files
[
0
]
.get_name
());
}
}
tests/test_compaction_filter.rs
View file @
e2e4ac24
...
@@ -52,8 +52,7 @@ fn test_compaction_filter() {
...
@@ -52,8 +52,7 @@ fn test_compaction_filter() {
drop_called
:
drop_called
.clone
(),
drop_called
:
drop_called
.clone
(),
filtered_kvs
:
filtered_kvs
.clone
(),
filtered_kvs
:
filtered_kvs
.clone
(),
}),
}),
)
)
.unwrap
();
.unwrap
();
let
mut
opts
=
DBOptions
::
new
();
let
mut
opts
=
DBOptions
::
new
();
opts
.create_if_missing
(
true
);
opts
.create_if_missing
(
true
);
let
db
=
DB
::
open_cf
(
let
db
=
DB
::
open_cf
(
...
@@ -92,8 +91,7 @@ fn test_compaction_filter() {
...
@@ -92,8 +91,7 @@ fn test_compaction_filter() {
drop_called
:
drop_called
.clone
(),
drop_called
:
drop_called
.clone
(),
filtered_kvs
:
filtered_kvs
.clone
(),
filtered_kvs
:
filtered_kvs
.clone
(),
}),
}),
)
)
.unwrap
();
.unwrap
();
assert
!
(
drop_called
.load
(
Ordering
::
Relaxed
));
assert
!
(
drop_called
.load
(
Ordering
::
Relaxed
));
drop_called
.store
(
false
,
Ordering
::
Relaxed
);
drop_called
.store
(
false
,
Ordering
::
Relaxed
);
{
{
...
...
tests/test_delete_range.rs
View file @
e2e4ac24
...
@@ -640,8 +640,7 @@ fn test_delete_range_prefix_bloom_case_1() {
...
@@ -640,8 +640,7 @@ fn test_delete_range_prefix_bloom_case_1() {
.set_prefix_extractor
(
.set_prefix_extractor
(
"FixedSuffixSliceTransform"
,
"FixedSuffixSliceTransform"
,
Box
::
new
(
FixedSuffixSliceTransform
::
new
(
3
)),
Box
::
new
(
FixedSuffixSliceTransform
::
new
(
3
)),
)
)
.unwrap_or_else
(|
err
|
panic!
(
format!
(
"{:?}"
,
err
)));
.unwrap_or_else
(|
err
|
panic!
(
format!
(
"{:?}"
,
err
)));
// Create prefix bloom filter for memtable.
// Create prefix bloom filter for memtable.
cf_opts
.set_memtable_prefix_bloom_size_ratio
(
0.1
as
f64
);
cf_opts
.set_memtable_prefix_bloom_size_ratio
(
0.1
as
f64
);
let
cf
=
"default"
;
let
cf
=
"default"
;
...
@@ -715,8 +714,7 @@ fn test_delete_range_prefix_bloom_case_2() {
...
@@ -715,8 +714,7 @@ fn test_delete_range_prefix_bloom_case_2() {
.set_prefix_extractor
(
.set_prefix_extractor
(
"FixedSuffixSliceTransform"
,
"FixedSuffixSliceTransform"
,
Box
::
new
(
FixedSuffixSliceTransform
::
new
(
3
)),
Box
::
new
(
FixedSuffixSliceTransform
::
new
(
3
)),
)
)
.unwrap_or_else
(|
err
|
panic!
(
format!
(
"{:?}"
,
err
)));
.unwrap_or_else
(|
err
|
panic!
(
format!
(
"{:?}"
,
err
)));
// Create prefix bloom filter for memtable.
// Create prefix bloom filter for memtable.
cf_opts
.set_memtable_prefix_bloom_size_ratio
(
0.1
as
f64
);
cf_opts
.set_memtable_prefix_bloom_size_ratio
(
0.1
as
f64
);
let
cf
=
"default"
;
let
cf
=
"default"
;
...
@@ -771,8 +769,7 @@ fn test_delete_range_prefix_bloom_case_2() {
...
@@ -771,8 +769,7 @@ fn test_delete_range_prefix_bloom_case_2() {
.set_prefix_extractor
(
.set_prefix_extractor
(
"FixedSuffixSliceTransform"
,
"FixedSuffixSliceTransform"
,
Box
::
new
(
FixedSuffixSliceTransform
::
new
(
3
)),
Box
::
new
(
FixedSuffixSliceTransform
::
new
(
3
)),
)
)
.unwrap_or_else
(|
err
|
panic!
(
format!
(
"{:?}"
,
err
)));
.unwrap_or_else
(|
err
|
panic!
(
format!
(
"{:?}"
,
err
)));
// Create prefix bloom filter for memtable.
// Create prefix bloom filter for memtable.
cf_opts
.set_memtable_prefix_bloom_size_ratio
(
0.1
as
f64
);
cf_opts
.set_memtable_prefix_bloom_size_ratio
(
0.1
as
f64
);
let
cf
=
"default"
;
let
cf
=
"default"
;
...
@@ -808,8 +805,7 @@ fn test_delete_range_prefix_bloom_case_3() {
...
@@ -808,8 +805,7 @@ fn test_delete_range_prefix_bloom_case_3() {
.set_prefix_extractor
(
.set_prefix_extractor
(
"FixedSuffixSliceTransform"
,
"FixedSuffixSliceTransform"
,
Box
::
new
(
FixedSuffixSliceTransform
::
new
(
3
)),
Box
::
new
(
FixedSuffixSliceTransform
::
new
(
3
)),
)
)
.unwrap_or_else
(|
err
|
panic!
(
format!
(
"{:?}"
,
err
)));
.unwrap_or_else
(|
err
|
panic!
(
format!
(
"{:?}"
,
err
)));
// Create prefix bloom filter for memtable.
// Create prefix bloom filter for memtable.
cf_opts
.set_memtable_prefix_bloom_size_ratio
(
0.1
as
f64
);
cf_opts
.set_memtable_prefix_bloom_size_ratio
(
0.1
as
f64
);
let
cf
=
"default"
;
let
cf
=
"default"
;
...
@@ -853,8 +849,7 @@ fn test_delete_range_prefix_bloom_case_3() {
...
@@ -853,8 +849,7 @@ fn test_delete_range_prefix_bloom_case_3() {
.set_prefix_extractor
(
.set_prefix_extractor
(
"FixedSuffixSliceTransform"
,
"FixedSuffixSliceTransform"
,
Box
::
new
(
FixedSuffixSliceTransform
::
new
(
3
)),
Box
::
new
(
FixedSuffixSliceTransform
::
new
(
3
)),
)
)
.unwrap_or_else
(|
err
|
panic!
(
format!
(
"{:?}"
,
err
)));
.unwrap_or_else
(|
err
|
panic!
(
format!
(
"{:?}"
,
err
)));
// Create prefix bloom filter for memtable.
// Create prefix bloom filter for memtable.
cf_opts
.set_memtable_prefix_bloom_size_ratio
(
0.1
as
f64
);
cf_opts
.set_memtable_prefix_bloom_size_ratio
(
0.1
as
f64
);
let
cf
=
"default"
;
let
cf
=
"default"
;
...
@@ -904,8 +899,7 @@ fn test_delete_range_prefix_bloom_case_4() {
...
@@ -904,8 +899,7 @@ fn test_delete_range_prefix_bloom_case_4() {
.set_prefix_extractor
(
.set_prefix_extractor
(
"FixedSuffixSliceTransform"
,
"FixedSuffixSliceTransform"
,
Box
::
new
(
FixedSuffixSliceTransform
::
new
(
3
)),
Box
::
new
(
FixedSuffixSliceTransform
::
new
(
3
)),
)
)
.unwrap_or_else
(|
err
|
panic!
(
format!
(
"{:?}"
,
err
)));
.unwrap_or_else
(|
err
|
panic!
(
format!
(
"{:?}"
,
err
)));
// Create prefix bloom filter for memtable.
// Create prefix bloom filter for memtable.
cf_opts
.set_memtable_prefix_bloom_size_ratio
(
0.1
as
f64
);
cf_opts
.set_memtable_prefix_bloom_size_ratio
(
0.1
as
f64
);
let
cf
=
"default"
;
let
cf
=
"default"
;
...
@@ -949,8 +943,7 @@ fn test_delete_range_prefix_bloom_case_4() {
...
@@ -949,8 +943,7 @@ fn test_delete_range_prefix_bloom_case_4() {
.set_prefix_extractor
(
.set_prefix_extractor
(
"FixedSuffixSliceTransform"
,
"FixedSuffixSliceTransform"
,
Box
::
new
(
FixedSuffixSliceTransform
::
new
(
3
)),
Box
::
new
(
FixedSuffixSliceTransform
::
new
(
3
)),
)
)
.unwrap_or_else
(|
err
|
panic!
(
format!
(
"{:?}"
,
err
)));
.unwrap_or_else
(|
err
|
panic!
(
format!
(
"{:?}"
,
err
)));
// Create prefix bloom filter for memtable.
// Create prefix bloom filter for memtable.
cf_opts
.set_memtable_prefix_bloom_size_ratio
(
0.1
as
f64
);
cf_opts
.set_memtable_prefix_bloom_size_ratio
(
0.1
as
f64
);
let
cf
=
"default"
;
let
cf
=
"default"
;
...
@@ -1001,8 +994,7 @@ fn test_delete_range_prefix_bloom_case_5() {
...
@@ -1001,8 +994,7 @@ fn test_delete_range_prefix_bloom_case_5() {
.set_prefix_extractor
(
.set_prefix_extractor
(
"FixedSuffixSliceTransform"
,
"FixedSuffixSliceTransform"
,
Box
::
new
(
FixedSuffixSliceTransform
::
new
(
3
)),
Box
::
new
(
FixedSuffixSliceTransform
::
new
(
3
)),
)
)
.unwrap_or_else
(|
err
|
panic!
(
format!
(
"{:?}"
,
err
)));
.unwrap_or_else
(|
err
|
panic!
(
format!
(
"{:?}"
,
err
)));
// Create prefix bloom filter for memtable.
// Create prefix bloom filter for memtable.
cf_opts
.set_memtable_prefix_bloom_size_ratio
(
0.1
as
f64
);
cf_opts
.set_memtable_prefix_bloom_size_ratio
(
0.1
as
f64
);
let
cf
=
"default"
;
let
cf
=
"default"
;
...
@@ -1044,8 +1036,7 @@ fn test_delete_range_prefix_bloom_case_5() {
...
@@ -1044,8 +1036,7 @@ fn test_delete_range_prefix_bloom_case_5() {
.set_prefix_extractor
(
.set_prefix_extractor
(
"FixedSuffixSliceTransform"
,
"FixedSuffixSliceTransform"
,
Box
::
new
(
FixedSuffixSliceTransform
::
new
(
3
)),
Box
::
new
(
FixedSuffixSliceTransform
::
new
(
3
)),
)
)
.unwrap_or_else
(|
err
|
panic!
(
format!
(
"{:?}"
,
err
)));
.unwrap_or_else
(|
err
|
panic!
(
format!
(
"{:?}"
,
err
)));
// Create prefix bloom filter for memtable.
// Create prefix bloom filter for memtable.
cf_opts
.set_memtable_prefix_bloom_size_ratio
(
0.1
as
f64
);
cf_opts
.set_memtable_prefix_bloom_size_ratio
(
0.1
as
f64
);
let
db2
=
DB
::
open_cf
(
opts
,
path_str
,
vec!
[(
cf
,
cf_opts
)])
.unwrap
();
let
db2
=
DB
::
open_cf
(
opts
,
path_str
,
vec!
[(
cf
,
cf_opts
)])
.unwrap
();
...
@@ -1093,8 +1084,7 @@ fn test_delete_range_prefix_bloom_case_6() {
...
@@ -1093,8 +1084,7 @@ fn test_delete_range_prefix_bloom_case_6() {
.set_prefix_extractor
(
.set_prefix_extractor
(
"FixedSuffixSliceTransform"
,
"FixedSuffixSliceTransform"
,
Box
::
new
(
FixedSuffixSliceTransform
::
new
(
3
)),
Box
::
new
(
FixedSuffixSliceTransform
::
new
(
3
)),
)
)
.unwrap_or_else
(|
err
|
panic!
(
format!
(
"{:?}"
,
err
)));
.unwrap_or_else
(|
err
|
panic!
(
format!
(
"{:?}"
,
err
)));
// Create prefix bloom filter for memtable.
// Create prefix bloom filter for memtable.
cf_opts
.set_memtable_prefix_bloom_size_ratio
(
0.1
as
f64
);
cf_opts
.set_memtable_prefix_bloom_size_ratio
(
0.1
as
f64
);
let
cf
=
"default"
;
let
cf
=
"default"
;
...
@@ -1138,8 +1128,7 @@ fn test_delete_range_prefix_bloom_case_6() {
...
@@ -1138,8 +1128,7 @@ fn test_delete_range_prefix_bloom_case_6() {
.set_prefix_extractor
(
.set_prefix_extractor
(
"FixedSuffixSliceTransform"
,
"FixedSuffixSliceTransform"
,
Box
::
new
(
FixedSuffixSliceTransform
::
new
(
3
)),
Box
::
new
(
FixedSuffixSliceTransform
::
new
(
3
)),
)
)
.unwrap_or_else
(|
err
|
panic!
(
format!
(
"{:?}"
,
err
)));
.unwrap_or_else
(|
err
|
panic!
(
format!
(
"{:?}"
,
err
)));
// Create prefix bloom filter for memtable.
// Create prefix bloom filter for memtable.
cf_opts
.set_memtable_prefix_bloom_size_ratio
(
0.1
as
f64
);
cf_opts
.set_memtable_prefix_bloom_size_ratio
(
0.1
as
f64
);
let
db2
=
DB
::
open_cf
(
opts
,
path_str
,
vec!
[(
cf
,
cf_opts
)])
.unwrap
();
let
db2
=
DB
::
open_cf
(
opts
,
path_str
,
vec!
[(
cf
,
cf_opts
)])
.unwrap
();
...
@@ -1211,8 +1200,7 @@ fn test_delete_range_prefix_bloom_compact_case() {
...
@@ -1211,8 +1200,7 @@ fn test_delete_range_prefix_bloom_compact_case() {
.set_prefix_extractor
(
.set_prefix_extractor
(
"FixedSuffixSliceTransform"
,
"FixedSuffixSliceTransform"
,
Box
::
new
(
FixedSuffixSliceTransform
::
new
(
3
)),
Box
::
new
(
FixedSuffixSliceTransform
::
new
(
3
)),
)
)
.unwrap_or_else
(|
err
|
panic!
(
format!
(
"{:?}"
,
err
)));
.unwrap_or_else
(|
err
|
panic!
(
format!
(
"{:?}"
,
err
)));
// Create prefix bloom filter for memtable.
// Create prefix bloom filter for memtable.
cf_opts
.set_memtable_prefix_bloom_size_ratio
(
0.1
as
f64
);
cf_opts
.set_memtable_prefix_bloom_size_ratio
(
0.1
as
f64
);
let
cf
=
"default"
;
let
cf
=
"default"
;
...
@@ -1256,8 +1244,7 @@ fn test_delete_range_prefix_bloom_compact_case() {
...
@@ -1256,8 +1244,7 @@ fn test_delete_range_prefix_bloom_compact_case() {
.set_prefix_extractor
(
.set_prefix_extractor
(
"FixedSuffixSliceTransform"
,
"FixedSuffixSliceTransform"
,
Box
::
new
(
FixedSuffixSliceTransform
::
new
(
3
)),
Box
::
new
(
FixedSuffixSliceTransform
::
new
(
3
)),
)
)
.unwrap_or_else
(|
err
|
panic!
(
format!
(
"{:?}"
,
err
)));
.unwrap_or_else
(|
err
|
panic!
(
format!
(
"{:?}"
,
err
)));
// Create prefix bloom filter for memtable.
// Create prefix bloom filter for memtable.
cf_opts
.set_memtable_prefix_bloom_size_ratio
(
0.1
as
f64
);
cf_opts
.set_memtable_prefix_bloom_size_ratio
(
0.1
as
f64
);
let
db2
=
DB
::
open_cf
(
opts
,
path_str
,
vec!
[(
cf
,
cf_opts
)])
.unwrap
();
let
db2
=
DB
::
open_cf
(
opts
,
path_str
,
vec!
[(
cf
,
cf_opts
)])
.unwrap
();
...
...
tests/test_iterator.rs
View file @
e2e4ac24
...
@@ -300,8 +300,7 @@ fn test_total_order_seek() {
...
@@ -300,8 +300,7 @@ fn test_total_order_seek() {
.set_prefix_extractor
(
.set_prefix_extractor
(
"FixedPrefixTransform"
,
"FixedPrefixTransform"
,
Box
::
new
(
FixedPrefixTransform
{
prefix_len
:
2
}),
Box
::
new
(
FixedPrefixTransform
{
prefix_len
:
2
}),
)
)
.unwrap
();
.unwrap
();
// also create prefix bloom for memtable
// also create prefix bloom for memtable
cf_opts
.set_memtable_prefix_bloom_size_ratio
(
0.1
as
f64
);
cf_opts
.set_memtable_prefix_bloom_size_ratio
(
0.1
as
f64
);
...
@@ -387,8 +386,7 @@ fn test_fixed_suffix_seek() {
...
@@ -387,8 +386,7 @@ fn test_fixed_suffix_seek() {
.set_prefix_extractor
(
.set_prefix_extractor
(
"FixedSuffixTransform"
,
"FixedSuffixTransform"
,
Box
::
new
(
FixedSuffixTransform
{
suffix_len
:
2
}),
Box
::
new
(
FixedSuffixTransform
{
suffix_len
:
2
}),
)
)
.unwrap
();
.unwrap
();
let
db
=
DB
::
open_cf
(
let
db
=
DB
::
open_cf
(
opts
,
opts
,
...
...
tests/test_prefix_extractor.rs
View file @
e2e4ac24
...
@@ -62,8 +62,7 @@ fn test_prefix_extractor_compatibility() {
...
@@ -62,8 +62,7 @@ fn test_prefix_extractor_compatibility() {
.set_prefix_extractor
(
.set_prefix_extractor
(
"FixedPrefixTransform"
,
"FixedPrefixTransform"
,
Box
::
new
(
FixedPrefixTransform
{
prefix_len
:
2
}),
Box
::
new
(
FixedPrefixTransform
{
prefix_len
:
2
}),
)
)
.unwrap
();
.unwrap
();
// also create prefix bloom for memtable
// also create prefix bloom for memtable
cf_opts
.set_memtable_prefix_bloom_size_ratio
(
0.1
as
f64
);
cf_opts
.set_memtable_prefix_bloom_size_ratio
(
0.1
as
f64
);
let
db
=
DB
::
open_cf
(
let
db
=
DB
::
open_cf
(
...
...
tests/test_rocksdb_options.rs
View file @
e2e4ac24
...
@@ -123,8 +123,7 @@ fn test_memtable_insert_hint_prefix_extractor() {
...
@@ -123,8 +123,7 @@ fn test_memtable_insert_hint_prefix_extractor() {
.set_memtable_insert_hint_prefix_extractor
(
.set_memtable_insert_hint_prefix_extractor
(
"FixedPrefixTransform"
,
"FixedPrefixTransform"
,
Box
::
new
(
FixedPrefixTransform
{
prefix_len
:
2
}),
Box
::
new
(
FixedPrefixTransform
{
prefix_len
:
2
}),
)
)
.unwrap
();
.unwrap
();
let
db
=
DB
::
open_cf
(
let
db
=
DB
::
open_cf
(
opts
,
opts
,
path
.path
()
.to_str
()
.unwrap
(),
path
.path
()
.to_str
()
.unwrap
(),
...
...
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