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
b52deee8
Commit
b52deee8
authored
Mar 16, 2017
by
goroutine
Committed by
GitHub
Mar 16, 2017
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #29 from aya/add_rocksdb_in_memory_related_configurations
Add RocksDB options for in memory configurations.
parents
99f4edd6
b1153adc
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
45 additions
and
9 deletions
+45
-9
c.cc
librocksdb_sys/crocksdb/c.cc
+3
-3
c.h
librocksdb_sys/crocksdb/rocksdb/c.h
+3
-3
lib.rs
librocksdb_sys/src/lib.rs
+4
-1
rocksdb_options.rs
src/rocksdb_options.rs
+21
-2
test_rocksdb_options.rs
tests/test_rocksdb_options.rs
+14
-0
No files found.
librocksdb_sys/crocksdb/c.cc
View file @
b52deee8
...
...
@@ -1771,11 +1771,11 @@ void crocksdb_options_set_wal_dir(
opt
->
rep
.
wal_dir
=
v
;
}
void
crocksdb_options_set_
WAL
_ttl_seconds
(
crocksdb_options_t
*
opt
,
uint64_t
ttl
)
{
void
crocksdb_options_set_
wal
_ttl_seconds
(
crocksdb_options_t
*
opt
,
uint64_t
ttl
)
{
opt
->
rep
.
WAL_ttl_seconds
=
ttl
;
}
void
crocksdb_options_set_
WAL_size_limit_MB
(
void
crocksdb_options_set_
wal_size_limit_mb
(
crocksdb_options_t
*
opt
,
uint64_t
limit
)
{
opt
->
rep
.
WAL_size_limit_MB
=
limit
;
}
...
...
@@ -2379,7 +2379,7 @@ void crocksdb_writeoptions_set_sync(
opt
->
rep
.
sync
=
v
;
}
void
crocksdb_writeoptions_disable_
WAL
(
crocksdb_writeoptions_t
*
opt
,
int
disable
)
{
void
crocksdb_writeoptions_disable_
wal
(
crocksdb_writeoptions_t
*
opt
,
int
disable
)
{
opt
->
rep
.
disableWAL
=
disable
;
}
...
...
librocksdb_sys/crocksdb/rocksdb/c.h
View file @
b52deee8
...
...
@@ -700,9 +700,9 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_db_log_dir(
crocksdb_options_t
*
,
const
char
*
);
extern
C_ROCKSDB_LIBRARY_API
void
crocksdb_options_set_wal_dir
(
crocksdb_options_t
*
,
const
char
*
);
extern
C_ROCKSDB_LIBRARY_API
void
crocksdb_options_set_
WAL
_ttl_seconds
(
extern
C_ROCKSDB_LIBRARY_API
void
crocksdb_options_set_
wal
_ttl_seconds
(
crocksdb_options_t
*
,
uint64_t
);
extern
C_ROCKSDB_LIBRARY_API
void
crocksdb_options_set_
WAL_size_limit_MB
(
extern
C_ROCKSDB_LIBRARY_API
void
crocksdb_options_set_
wal_size_limit_mb
(
crocksdb_options_t
*
,
uint64_t
);
extern
C_ROCKSDB_LIBRARY_API
void
crocksdb_options_set_manifest_preallocation_size
(
crocksdb_options_t
*
,
size_t
);
...
...
@@ -938,7 +938,7 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_writeoptions_destroy(
crocksdb_writeoptions_t
*
);
extern
C_ROCKSDB_LIBRARY_API
void
crocksdb_writeoptions_set_sync
(
crocksdb_writeoptions_t
*
,
unsigned
char
);
extern
C_ROCKSDB_LIBRARY_API
void
crocksdb_writeoptions_disable_
WAL
(
extern
C_ROCKSDB_LIBRARY_API
void
crocksdb_writeoptions_disable_
wal
(
crocksdb_writeoptions_t
*
opt
,
int
disable
);
/* Compact range options */
...
...
librocksdb_sys/src/lib.rs
View file @
b52deee8
...
...
@@ -263,6 +263,9 @@ extern "C" {
pub
fn
crocksdb_options_set_stats_dump_period_sec
(
options
:
*
mut
DBOptions
,
v
:
usize
);
pub
fn
crocksdb_options_set_num_levels
(
options
:
*
mut
DBOptions
,
v
:
c_int
);
pub
fn
crocksdb_options_set_db_log_dir
(
options
:
*
mut
DBOptions
,
path
:
*
const
c_char
);
pub
fn
crocksdb_options_set_wal_dir
(
options
:
*
mut
DBOptions
,
path
:
*
const
c_char
);
pub
fn
crocksdb_options_set_wal_ttl_seconds
(
options
:
*
mut
DBOptions
,
ttl
:
u64
);
pub
fn
crocksdb_options_set_wal_size_limit_mb
(
options
:
*
mut
DBOptions
,
limit
:
u64
);
pub
fn
crocksdb_options_set_prefix_extractor
(
options
:
*
mut
DBOptions
,
prefix_extractor
:
*
mut
DBSliceTransform
);
pub
fn
crocksdb_options_set_memtable_insert_with_hint_prefix_extractor
(
options
:
*
mut
DBOptions
,
...
...
@@ -284,7 +287,7 @@ extern "C" {
pub
fn
crocksdb_writeoptions_create
()
->
*
mut
DBWriteOptions
;
pub
fn
crocksdb_writeoptions_destroy
(
writeopts
:
*
mut
DBWriteOptions
);
pub
fn
crocksdb_writeoptions_set_sync
(
writeopts
:
*
mut
DBWriteOptions
,
v
:
bool
);
pub
fn
crocksdb_writeoptions_disable_
WAL
(
writeopts
:
*
mut
DBWriteOptions
,
v
:
c_int
);
pub
fn
crocksdb_writeoptions_disable_
wal
(
writeopts
:
*
mut
DBWriteOptions
,
v
:
c_int
);
pub
fn
crocksdb_put
(
db
:
*
mut
DBInstance
,
writeopts
:
*
mut
DBWriteOptions
,
k
:
*
const
u8
,
...
...
src/rocksdb_options.rs
View file @
b52deee8
...
...
@@ -246,9 +246,9 @@ impl WriteOptions {
pub
fn
disable_wal
(
&
mut
self
,
disable
:
bool
)
{
unsafe
{
if
disable
{
crocksdb_ffi
::
crocksdb_writeoptions_disable_
WAL
(
self
.inner
,
1
);
crocksdb_ffi
::
crocksdb_writeoptions_disable_
wal
(
self
.inner
,
1
);
}
else
{
crocksdb_ffi
::
crocksdb_writeoptions_disable_
WAL
(
self
.inner
,
0
);
crocksdb_ffi
::
crocksdb_writeoptions_disable_
wal
(
self
.inner
,
0
);
}
}
}
...
...
@@ -654,6 +654,25 @@ impl Options {
}
}
pub
fn
set_wal_dir
(
&
mut
self
,
path
:
&
str
)
{
let
path
=
CString
::
new
(
path
.as_bytes
())
.unwrap
();
unsafe
{
crocksdb_ffi
::
crocksdb_options_set_wal_dir
(
self
.inner
,
path
.as_ptr
());
}
}
pub
fn
set_wal_ttl_seconds
(
&
mut
self
,
ttl
:
u64
)
{
unsafe
{
crocksdb_ffi
::
crocksdb_options_set_wal_ttl_seconds
(
self
.inner
,
ttl
as
u64
);
}
}
pub
fn
set_wal_size_limit_mb
(
&
mut
self
,
limit
:
u64
)
{
unsafe
{
crocksdb_ffi
::
crocksdb_options_set_wal_size_limit_mb
(
self
.inner
,
limit
as
u64
);
}
}
pub
fn
set_max_log_file_size
(
&
mut
self
,
size
:
u64
)
{
unsafe
{
crocksdb_ffi
::
crocksdb_options_set_max_log_file_size
(
self
.inner
,
size
as
size_t
);
...
...
tests/test_rocksdb_options.rs
View file @
b52deee8
...
...
@@ -118,3 +118,17 @@ fn test_set_ratelimiter() {
let
db
=
DB
::
open
(
opts
,
path
.path
()
.to_str
()
.unwrap
())
.unwrap
();
drop
(
db
);
}
#[test]
fn
test_set_wal_opt
()
{
let
path
=
TempDir
::
new
(
"_rust_rocksdb_test_set_wal_opt"
)
.expect
(
""
);
let
mut
opts
=
Options
::
new
();
opts
.create_if_missing
(
true
);
opts
.set_wal_ttl_seconds
(
86400
);
opts
.set_wal_size_limit_mb
(
10
);
let
wal_dir
=
TempDir
::
new
(
"_rust_rocksdb_test_set_wal_dir"
)
.expect
(
""
);
opts
.set_wal_dir
(
wal_dir
.path
()
.to_str
()
.unwrap
());
let
db
=
DB
::
open
(
opts
,
path
.path
()
.to_str
()
.unwrap
())
.unwrap
();
drop
(
db
);
}
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