Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
kvdb
rocksdb
提交
1574e0c4
R
rocksdb
项目概览
kvdb
/
rocksdb
12 个月 前同步成功
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rocksdb
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
1574e0c4
编写于
4月 19, 2014
作者:
A
Ankit Gupta
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add doc
上级
06b590dd
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
30 addition
and
22 deletion
+30
-22
java/org/rocksdb/Iterator.java
java/org/rocksdb/Iterator.java
+14
-13
java/org/rocksdb/RocksDB.java
java/org/rocksdb/RocksDB.java
+3
-1
java/rocksjni/iterator.cc
java/rocksjni/iterator.cc
+6
-6
java/rocksjni/portal.h
java/rocksjni/portal.h
+2
-2
java/rocksjni/rocksjni.cc
java/rocksjni/rocksjni.cc
+5
-0
未找到文件。
java/org/rocksdb/Iterator.java
浏览文件 @
1574e0c4
...
@@ -8,12 +8,12 @@ package org.rocksdb;
...
@@ -8,12 +8,12 @@ package org.rocksdb;
/**
/**
* An iterator yields a sequence of key/value pairs from a source.
* An iterator yields a sequence of key/value pairs from a source.
* The following class defines the interface. Multiple implementations
* The following class defines the interface. Multiple implementations
* are provided by this library. In particular, iterators are provided
* are provided by this library. In particular, iterators are provided
* to access the contents of a Table or a DB.
* to access the contents of a Table or a DB.
*
*
* Multiple threads can invoke const methods on an Iterator without
* Multiple threads can invoke const methods on an Iterator without
* external synchronization, but if any of the threads may call a
* external synchronization, but if any of the threads may call a
* non-const method, all threads accessing the same Iterator must use
* non-const method, all threads accessing the same Iterator must use
* external synchronization.
* external synchronization.
*/
*/
public
class
Iterator
{
public
class
Iterator
{
...
@@ -50,7 +50,7 @@ public class Iterator {
...
@@ -50,7 +50,7 @@ public class Iterator {
assert
(
isInitialized
());
assert
(
isInitialized
());
seekToLast0
(
nativeHandle_
);
seekToLast0
(
nativeHandle_
);
}
}
/**
/**
* Moves to the next entry in the source. After this call, Valid() is
* Moves to the next entry in the source. After this call, Valid() is
* true iff the iterator was not positioned at the last entry in the source.
* true iff the iterator was not positioned at the last entry in the source.
...
@@ -60,7 +60,7 @@ public class Iterator {
...
@@ -60,7 +60,7 @@ public class Iterator {
assert
(
isInitialized
());
assert
(
isInitialized
());
next0
(
nativeHandle_
);
next0
(
nativeHandle_
);
}
}
/**
/**
* Moves to the previous entry in the source. After this call, Valid() is
* Moves to the previous entry in the source. After this call, Valid() is
* true iff the iterator was not positioned at the first entry in source.
* true iff the iterator was not positioned at the first entry in source.
...
@@ -73,7 +73,7 @@ public class Iterator {
...
@@ -73,7 +73,7 @@ public class Iterator {
/**
/**
* Return the key for the current entry. The underlying storage for
* Return the key for the current entry. The underlying storage for
* the returned slice is valid only until the next modification of
* the returned slice is valid only until the next modification of
* the iterator.
* the iterator.
* REQUIRES: Valid()
* REQUIRES: Valid()
* @return key for the current entry.
* @return key for the current entry.
...
@@ -84,9 +84,9 @@ public class Iterator {
...
@@ -84,9 +84,9 @@ public class Iterator {
}
}
/**
/**
* Return the value for the current entry. The underlying storage for
* Return the value for the current entry. The underlying storage for
* the returned slice is valid only until the next modification of
* the returned slice is valid only until the next modification of
* the iterator.
* the iterator.
* REQUIRES: !AtEnd() && !AtStart()
* REQUIRES: !AtEnd() && !AtStart()
* @return value for the current entry.
* @return value for the current entry.
*/
*/
...
@@ -106,11 +106,12 @@ public class Iterator {
...
@@ -106,11 +106,12 @@ public class Iterator {
}
}
/**
/**
* If an error has occurred, return it. Else return an ok status.
* If an error has occurred, return it. Else return an ok status.
* If non-blocking IO is requested and this operation cannot be
* If non-blocking IO is requested and this operation cannot be
* satisfied without doing some IO, then this returns Status::Incomplete().
* satisfied without doing some IO, then this returns Status::Incomplete().
*
*/
*/
public
void
status
(){
public
void
status
()
throws
RocksDBException
{
assert
(
isInitialized
());
assert
(
isInitialized
());
status0
(
nativeHandle_
);
status0
(
nativeHandle_
);
}
}
...
...
java/org/rocksdb/RocksDB.java
浏览文件 @
1574e0c4
...
@@ -140,9 +140,11 @@ public class RocksDB {
...
@@ -140,9 +140,11 @@ public class RocksDB {
* Return a heap-allocated iterator over the contents of the database.
* Return a heap-allocated iterator over the contents of the database.
* The result of newIterator() is initially invalid (caller must
* The result of newIterator() is initially invalid (caller must
* call one of the Seek methods on the iterator before using it).
* call one of the Seek methods on the iterator before using it).
*
*
* Caller should close the iterator when it is no longer needed.
* Caller should close the iterator when it is no longer needed.
* The returned iterator should be closed before this db is closed.
* The returned iterator should be closed before this db is closed.
*
* @return instance of iterator object.
*/
*/
public
Iterator
newIterator
()
{
public
Iterator
newIterator
()
{
return
new
Iterator
(
iterator0
(
nativeHandle_
));
return
new
Iterator
(
iterator0
(
nativeHandle_
));
...
...
java/rocksjni/iterator.cc
浏览文件 @
1574e0c4
...
@@ -80,9 +80,9 @@ jbyteArray Java_org_rocksdb_Iterator_key0(
...
@@ -80,9 +80,9 @@ jbyteArray Java_org_rocksdb_Iterator_key0(
rocksdb
::
Slice
key_slice
=
it
->
key
();
rocksdb
::
Slice
key_slice
=
it
->
key
();
jbyteArray
jkey
=
env
->
NewByteArray
(
key_slice
.
size
());
jbyteArray
jkey
=
env
->
NewByteArray
(
key_slice
.
size
());
env
->
SetByteArrayRegion
(
env
->
SetByteArrayRegion
(
jkey
,
0
,
key_slice
.
size
(),
jkey
,
0
,
key_slice
.
size
(),
reinterpret_cast
<
const
jbyte
*>
(
key_slice
.
data
()));
reinterpret_cast
<
const
jbyte
*>
(
key_slice
.
data
()));
return
jkey
;
return
jkey
;
}
}
...
@@ -97,9 +97,9 @@ jbyteArray Java_org_rocksdb_Iterator_value0(
...
@@ -97,9 +97,9 @@ jbyteArray Java_org_rocksdb_Iterator_value0(
rocksdb
::
Slice
value_slice
=
it
->
value
();
rocksdb
::
Slice
value_slice
=
it
->
value
();
jbyteArray
jvalue
=
env
->
NewByteArray
(
value_slice
.
size
());
jbyteArray
jvalue
=
env
->
NewByteArray
(
value_slice
.
size
());
env
->
SetByteArrayRegion
(
env
->
SetByteArrayRegion
(
jvalue
,
0
,
value_slice
.
size
(),
jvalue
,
0
,
value_slice
.
size
(),
reinterpret_cast
<
const
jbyte
*>
(
value_slice
.
data
()));
reinterpret_cast
<
const
jbyte
*>
(
value_slice
.
data
()));
return
jvalue
;
return
jvalue
;
}
}
...
...
java/rocksjni/portal.h
浏览文件 @
1574e0c4
...
@@ -224,7 +224,7 @@ class IteratorJni {
...
@@ -224,7 +224,7 @@ class IteratorJni {
}
}
// Get the field id of the member variable of org.rocksdb.Iterator
// Get the field id of the member variable of org.rocksdb.Iterator
// that stores the pointer to rocksdb::Iterator
// that stores the pointer to rocksdb::Iterator
.
static
jfieldID
getHandleFieldID
(
JNIEnv
*
env
)
{
static
jfieldID
getHandleFieldID
(
JNIEnv
*
env
)
{
static
jfieldID
fid
=
env
->
GetFieldID
(
static
jfieldID
fid
=
env
->
GetFieldID
(
getJClass
(
env
),
"nativeHandle_"
,
"J"
);
getJClass
(
env
),
"nativeHandle_"
,
"J"
);
...
@@ -232,7 +232,7 @@ class IteratorJni {
...
@@ -232,7 +232,7 @@ class IteratorJni {
return
fid
;
return
fid
;
}
}
// Get the pointer to rocksdb::Iterator
// Get the pointer to rocksdb::Iterator
.
static
rocksdb
::
Iterator
*
getHandle
(
JNIEnv
*
env
,
jobject
jobj
)
{
static
rocksdb
::
Iterator
*
getHandle
(
JNIEnv
*
env
,
jobject
jobj
)
{
return
reinterpret_cast
<
rocksdb
::
Iterator
*>
(
return
reinterpret_cast
<
rocksdb
::
Iterator
*>
(
env
->
GetLongField
(
jobj
,
getHandleFieldID
(
env
)));
env
->
GetLongField
(
jobj
,
getHandleFieldID
(
env
)));
...
...
java/rocksjni/rocksjni.cc
浏览文件 @
1574e0c4
...
@@ -297,6 +297,11 @@ void Java_org_rocksdb_RocksDB_close0(
...
@@ -297,6 +297,11 @@ void Java_org_rocksdb_RocksDB_close0(
rocksdb
::
RocksDBJni
::
setHandle
(
env
,
java_db
,
nullptr
);
rocksdb
::
RocksDBJni
::
setHandle
(
env
,
java_db
,
nullptr
);
}
}
/*
* Class: org_rocksdb_RocksDB
* Method: iterator0
* Signature: (J)J
*/
jlong
Java_org_rocksdb_RocksDB_iterator0
(
jlong
Java_org_rocksdb_RocksDB_iterator0
(
JNIEnv
*
env
,
jobject
jdb
,
jlong
db_handle
)
{
JNIEnv
*
env
,
jobject
jdb
,
jlong
db_handle
)
{
auto
db
=
reinterpret_cast
<
rocksdb
::
DB
*>
(
db_handle
);
auto
db
=
reinterpret_cast
<
rocksdb
::
DB
*>
(
db_handle
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录