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
10e6056f
Commit
10e6056f
authored
Jun 12, 2016
by
zhangjinpeng1987
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add compression_per_level options
parent
260a80d3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
21 additions
and
1 deletion
+21
-1
lib.rs
librocksdb_sys/src/lib.rs
+3
-0
main.rs
src/main.rs
+10
-1
rocksdb_options.rs
src/rocksdb_options.rs
+8
-0
No files found.
librocksdb_sys/src/lib.rs
View file @
10e6056f
...
@@ -186,6 +186,9 @@ extern "C" {
...
@@ -186,6 +186,9 @@ extern "C" {
cs
:
DBCompactionStyle
);
cs
:
DBCompactionStyle
);
pub
fn
rocksdb_options_set_compression
(
options
:
DBOptions
,
pub
fn
rocksdb_options_set_compression
(
options
:
DBOptions
,
compression_style_no
:
DBCompressionType
);
compression_style_no
:
DBCompressionType
);
pub
fn
rocksdb_options_set_compression_per_level
(
options
:
DBOptions
,
level_values
:
*
const
DBCompressionType
,
num_levels
:
size_t
);
pub
fn
rocksdb_options_set_max_background_compactions
(
pub
fn
rocksdb_options_set_max_background_compactions
(
options
:
DBOptions
,
max_bg_compactions
:
c_int
);
options
:
DBOptions
,
max_bg_compactions
:
c_int
);
pub
fn
rocksdb_options_set_max_background_flushes
(
options
:
DBOptions
,
pub
fn
rocksdb_options_set_max_background_flushes
(
options
:
DBOptions
,
...
...
src/main.rs
View file @
10e6056f
...
@@ -143,7 +143,7 @@ fn main() {
...
@@ -143,7 +143,7 @@ fn main() {
#[cfg(test)]
#[cfg(test)]
mod
tests
{
mod
tests
{
use
rocksdb
::{
BlockBasedOptions
,
DB
,
Options
};
use
rocksdb
::{
BlockBasedOptions
,
DB
,
Options
,
DBCompressionType
};
use
rocksdb
::
DBCompactionStyle
::
DBUniversal
;
use
rocksdb
::
DBCompactionStyle
::
DBUniversal
;
#[allow(dead_code)]
#[allow(dead_code)]
...
@@ -151,6 +151,14 @@ mod tests {
...
@@ -151,6 +151,14 @@ mod tests {
opts
:
&
mut
Options
,
opts
:
&
mut
Options
,
blockopts
:
&
mut
BlockBasedOptions
)
blockopts
:
&
mut
BlockBasedOptions
)
->
DB
{
->
DB
{
let
per_level_compression
:
[
DBCompressionType
;
7
]
=
[
DBCompressionType
::
DBNo
,
DBCompressionType
::
DBNo
,
DBCompressionType
::
DBNo
,
DBCompressionType
::
DBLz4
,
DBCompressionType
::
DBLz4
,
DBCompressionType
::
DBLz4
,
DBCompressionType
::
DBLz4
];
opts
.create_if_missing
(
true
);
opts
.create_if_missing
(
true
);
opts
.set_max_open_files
(
10000
);
opts
.set_max_open_files
(
10000
);
opts
.set_use_fsync
(
false
);
opts
.set_use_fsync
(
false
);
...
@@ -169,6 +177,7 @@ mod tests {
...
@@ -169,6 +177,7 @@ mod tests {
opts
.set_max_background_flushes
(
4
);
opts
.set_max_background_flushes
(
4
);
opts
.set_filter_deletes
(
false
);
opts
.set_filter_deletes
(
false
);
opts
.set_report_bg_io_stats
(
true
);
opts
.set_report_bg_io_stats
(
true
);
opts
.compression_per_level
(
&
per_level_compression
);
blockopts
.set_block_size
(
524288
);
blockopts
.set_block_size
(
524288
);
opts
.set_block_based_table_factory
(
blockopts
);
opts
.set_block_based_table_factory
(
blockopts
);
opts
.set_disable_auto_compactions
(
true
);
opts
.set_disable_auto_compactions
(
true
);
...
...
src/rocksdb_options.rs
View file @
10e6056f
...
@@ -162,6 +162,14 @@ impl Options {
...
@@ -162,6 +162,14 @@ impl Options {
}
}
}
}
pub
fn
compression_per_level
(
&
mut
self
,
level_types
:
&
[
DBCompressionType
])
{
unsafe
{
rocksdb_ffi
::
rocksdb_options_set_compression_per_level
(
self
.inner
,
level_types
.as_ptr
(),
level_types
.len
()
as
size_t
)
}
}
pub
fn
add_merge_operator
(
&
mut
self
,
name
:
&
str
,
merge_fn
:
MergeFn
)
{
pub
fn
add_merge_operator
(
&
mut
self
,
name
:
&
str
,
merge_fn
:
MergeFn
)
{
let
cb
=
Box
::
new
(
MergeOperatorCallback
{
let
cb
=
Box
::
new
(
MergeOperatorCallback
{
name
:
CString
::
new
(
name
.as_bytes
())
.unwrap
(),
name
:
CString
::
new
(
name
.as_bytes
())
.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