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
785ead1b
Commit
785ead1b
authored
Dec 13, 2014
by
Tyler Neely
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1 from spacejam/tan_merge
Tan merge
parents
e585d23e
06e5e44b
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
14 additions
and
14 deletions
+14
-14
ffi.rs
src/ffi.rs
+14
-14
rocksdb.rs
src/rocksdb.rs
+0
-0
No files found.
src/ffi.rs
View file @
785ead1b
...
...
@@ -112,26 +112,28 @@ extern {
options
:
RocksDBOptions
,
path
:
*
const
i8
,
err
:
*
mut
i8
);
pub
fn
rocksdb_repair_db
(
options
:
RocksDBOptions
,
path
:
*
const
i8
,
err
:
*
mut
i8
);
// Merge Operator
// Merge
pub
fn
rocksdb_merge
(
db
:
RocksDBInstance
,
writeopts
:
RocksDBWriteOptions
,
k
:
*
const
u8
,
kLen
:
size_t
,
v
:
*
const
u8
,
vLen
:
size_t
,
err
:
*
mut
i8
);
pub
fn
rocksdb_mergeoperator_create
(
state
:
*
mut
c_void
,
destroy
:
extern
fn
(
*
mut
c_void
)
->
(),
full_merge
:
extern
fn
(
arg
:
*
mut
c_void
,
key
:
*
const
c_char
,
key_len
:
*
mut
size_t
,
existing_value
:
*
const
c_char
,
existing_value_len
:
*
mut
size_t
,
operands_list
:
&
[
*
const
c_char
]
,
operands_list_len
:
*
const
size_t
,
arg
:
*
mut
c_void
,
key
:
*
const
c_char
,
key_len
:
size_t
,
existing_value
:
*
const
c_char
,
existing_value_len
:
size_t
,
operands_list
:
*
const
*
const
c_char
,
operands_list_len
:
*
const
size_t
,
num_operands
:
c_int
,
success
:
*
mut
u8
,
new_value_length
:
*
mut
size_t
)
->
*
const
c_char
,
partial_merge
:
extern
fn
(
*
mut
c_void
,
key
:
*
const
c_char
,
key_len
:
*
mut
size_t
,
operands_list
:
&
[
*
const
c_char
]
,
operands_list_len
:
*
const
size_t
,
arg
:
*
mut
c_void
,
key
:
*
const
c_char
,
key_len
:
size_t
,
operands_list
:
*
const
*
const
c_char
,
operands_list_len
:
*
const
size_t
,
num_operands
:
c_int
,
success
:
*
mut
u8
,
new_value_length
:
*
mut
size_t
)
->
*
const
c_char
,
delete_value
:
extern
fn
(
*
mut
c_void
,
value
:
*
const
c_char
,
value_len
:
*
mut
size_t
)
->
(),
delete_value
:
Option
<
extern
"C"
fn
(
*
mut
c_void
,
value
:
*
const
c_char
,
value_len
:
*
mut
size_t
)
->
()
>
,
name_fn
:
extern
fn
(
*
mut
c_void
)
->
*
const
c_char
,
)
->
RocksDBMergeOperator
;
pub
fn
rocksdb_mergeoperator_destroy
(
mo
:
RocksDBMergeOperator
);
...
...
@@ -152,14 +154,13 @@ fn internal() {
rocksdb_options_optimize_level_style_compaction
(
opts
,
0
);
rocksdb_options_set_create_if_missing
(
opts
,
1
);
let
rustpath
=
"internaltest"
;
let
rustpath
=
"
_rust_rocksdb_
internaltest"
;
let
cpath
=
rustpath
.to_c_str
();
let
cpath_ptr
=
cpath
.as_ptr
();
let
err
=
0
as
*
mut
i8
;
let
db
=
rocksdb_open
(
opts
,
cpath_ptr
,
err
);
assert
!
(
err
.is_null
());
libc
::
free
(
err
as
*
mut
c_void
);
let
writeopts
=
rocksdb_writeoptions_create
();
let
RocksDBWriteOptions
(
write_opt_ptr
)
=
writeopts
;
...
...
@@ -170,18 +171,17 @@ fn internal() {
rocksdb_put
(
db
,
writeopts
,
key
.as_ptr
(),
4
,
val
.as_ptr
(),
8
,
err
);
assert
!
(
err
.is_null
());
libc
::
free
(
err
as
*
mut
c_void
);
let
readopts
=
rocksdb_readoptions_create
();
let
RocksDBReadOptions
(
read_opts_ptr
)
=
readopts
;
assert
!
(
read_opts_ptr
.is_not_null
());
libc
::
free
(
err
as
*
mut
c_void
);
let
val_len
:
size_t
=
0
;
let
val_len_ptr
=
&
val_len
as
*
const
size_t
;
rocksdb_get
(
db
,
readopts
,
key
.as_ptr
(),
4
,
val_len_ptr
,
err
);
assert
!
(
err
.is_null
());
libc
::
free
(
err
as
*
mut
c_void
);
rocksdb_close
(
db
);
rocksdb_destroy_db
(
opts
,
cpath_ptr
,
err
);
assert
!
(
err
.is_null
());
}
}
src/rocksdb.rs
View file @
785ead1b
This diff is collapsed.
Click to expand it.
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