Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
YottaChain
YTBP
提交
4e69fb71
Y
YTBP
项目概览
YottaChain
/
YTBP
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Y
YTBP
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
4e69fb71
编写于
2月 14, 2018
作者:
K
Khaled Al-Hassanieh
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fixed master rebase issues
上级
2e0eac0f
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
65 addition
and
67 deletion
+65
-67
contracts/test_api/test_db.cpp
contracts/test_api/test_db.cpp
+64
-65
libraries/chain/apply_context.cpp
libraries/chain/apply_context.cpp
+1
-2
未找到文件。
contracts/test_api/test_db.cpp
浏览文件 @
4e69fb71
...
...
@@ -3,7 +3,6 @@
#include <eosiolib/db.h>
#include <eosiolib/db.hpp>
#include <eosiolib/memory.hpp>
#include <eosiolib/eosio.hpp>
#include "test_api.hpp"
int
primary
[
11
]
=
{
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
};
...
...
@@ -1563,10 +1562,10 @@ void test_db::primary_i64_general()
uint64_t
prim
=
0
;
int
itr_next
=
db_next_i64
(
alice_itr
,
&
prim
);
int
itr_next_expected
=
db_find_i64
(
current_receiver
(),
current_receiver
(),
table1
,
N
(
allyson
));
eos_assert
(
itr_next
==
itr_next_expected
&&
prim
==
N
(
allyson
),
"primary_i64_general - db_find_i64"
);
eos
io
_assert
(
itr_next
==
itr_next_expected
&&
prim
==
N
(
allyson
),
"primary_i64_general - db_find_i64"
);
itr_next
=
db_next_i64
(
itr_next
,
&
prim
);
itr_next_expected
=
db_find_i64
(
current_receiver
(),
current_receiver
(),
table1
,
N
(
bob
));
eos_assert
(
itr_next
==
itr_next_expected
&&
prim
==
N
(
bob
),
"primary_i64_general - db_next_i64"
);
eos
io
_assert
(
itr_next
==
itr_next_expected
&&
prim
==
N
(
bob
),
"primary_i64_general - db_next_i64"
);
}
// next
...
...
@@ -1575,9 +1574,9 @@ void test_db::primary_i64_general()
// nothing after charlie
uint64_t
prim
=
0
;
int
end_itr
=
db_next_i64
(
charlie_itr
,
&
prim
);
eos_assert
(
end_itr
==
-
1
,
"primary_i64_general - db_next_i64"
);
eos
io
_assert
(
end_itr
==
-
1
,
"primary_i64_general - db_next_i64"
);
// prim didn't change
eos_assert
(
prim
==
0
,
"primary_i64_general - db_next_i64"
);
eos
io
_assert
(
prim
==
0
,
"primary_i64_general - db_next_i64"
);
}
// previous
...
...
@@ -1586,53 +1585,53 @@ void test_db::primary_i64_general()
uint64_t
prim
=
0
;
int
itr_prev
=
db_previous_i64
(
charlie_itr
,
&
prim
);
int
itr_prev_expected
=
db_find_i64
(
current_receiver
(),
current_receiver
(),
table1
,
N
(
bob
));
eos_assert
(
itr_prev
==
itr_prev_expected
&&
prim
==
N
(
bob
),
"primary_i64_general - db_previous_i64"
);
eos
io
_assert
(
itr_prev
==
itr_prev_expected
&&
prim
==
N
(
bob
),
"primary_i64_general - db_previous_i64"
);
itr_prev
=
db_previous_i64
(
itr_prev
,
&
prim
);
itr_prev_expected
=
db_find_i64
(
current_receiver
(),
current_receiver
(),
table1
,
N
(
allyson
));
eos_assert
(
itr_prev
==
itr_prev_expected
&&
prim
==
N
(
allyson
),
"primary_i64_general - db_previous_i64"
);
eos
io
_assert
(
itr_prev
==
itr_prev_expected
&&
prim
==
N
(
allyson
),
"primary_i64_general - db_previous_i64"
);
itr_prev
=
db_previous_i64
(
itr_prev
,
&
prim
);
itr_prev_expected
=
db_find_i64
(
current_receiver
(),
current_receiver
(),
table1
,
N
(
alice
));
eos_assert
(
itr_prev
==
itr_prev_expected
&&
prim
==
N
(
alice
),
"primary_i64_general - db_previous_i64"
);
eos
io
_assert
(
itr_prev
==
itr_prev_expected
&&
prim
==
N
(
alice
),
"primary_i64_general - db_previous_i64"
);
itr_prev
=
db_previous_i64
(
itr_prev
,
&
prim
);
itr_prev_expected
=
-
1
;
eos_assert
(
itr_prev
==
itr_prev_expected
&&
prim
==
N
(
alice
),
"primary_i64_general - db_previous_i64"
);
eos
io
_assert
(
itr_prev
==
itr_prev_expected
&&
prim
==
N
(
alice
),
"primary_i64_general - db_previous_i64"
);
}
// remove
{
int
itr
=
db_find_i64
(
current_receiver
(),
current_receiver
(),
table1
,
N
(
alice
));
eos_assert
(
itr
!=
-
1
,
"primary_i64_general - db_find_i64"
);
eos
io
_assert
(
itr
!=
-
1
,
"primary_i64_general - db_find_i64"
);
db_remove_i64
(
itr
);
itr
=
db_find_i64
(
current_receiver
(),
current_receiver
(),
table1
,
N
(
alice
));
eos_assert
(
itr
==
-
1
,
"primary_i64_general - db_find_i64"
);
eos
io
_assert
(
itr
==
-
1
,
"primary_i64_general - db_find_i64"
);
}
// get
{
int
itr
=
db_find_i64
(
current_receiver
(),
current_receiver
(),
table1
,
N
(
bob
));
eos_assert
(
itr
!=
-
1
,
""
);
eos
io
_assert
(
itr
!=
-
1
,
""
);
int
buffer_len
=
5
;
char
value
[
50
];
auto
len
=
db_get_i64
(
itr
,
value
,
buffer_len
);
value
[
buffer_len
]
=
'\0'
;
std
::
string
s
(
value
);
eos_assert
(
len
==
strlen
(
"bob's info"
),
"primary_i64_general - db_get_i64"
);
eos_assert
(
s
==
"bob's"
,
"primary_i64_general - db_get_i64"
);
eos
io
_assert
(
len
==
strlen
(
"bob's info"
),
"primary_i64_general - db_get_i64"
);
eos
io
_assert
(
s
==
"bob's"
,
"primary_i64_general - db_get_i64"
);
buffer_len
=
20
;
db_get_i64
(
itr
,
value
,
buffer_len
);
value
[
buffer_len
]
=
'\0'
;
std
::
string
sfull
(
value
);
eos_assert
(
sfull
==
"bob's info"
,
"primary_i64_general - db_get_i64"
);
eos
io
_assert
(
sfull
==
"bob's info"
,
"primary_i64_general - db_get_i64"
);
}
// update
{
int
itr
=
db_find_i64
(
current_receiver
(),
current_receiver
(),
table1
,
N
(
bob
));
eos_assert
(
itr
!=
-
1
,
""
);
eos
io
_assert
(
itr
!=
-
1
,
""
);
const
char
*
new_value
=
"bob's new info"
;
int
new_value_len
=
strlen
(
new_value
);
db_update_i64
(
itr
,
current_receiver
(),
new_value
,
new_value_len
);
...
...
@@ -1640,7 +1639,7 @@ void test_db::primary_i64_general()
auto
len
=
db_get_i64
(
itr
,
ret_value
,
new_value_len
);
ret_value
[
new_value_len
]
=
'\0'
;
std
::
string
sret
(
ret_value
);
eos_assert
(
sret
==
"bob's new info"
,
"primary_i64_general - db_update_i64"
);
eos
io
_assert
(
sret
==
"bob's new info"
,
"primary_i64_general - db_update_i64"
);
}
}
...
...
@@ -1658,23 +1657,23 @@ void test_db::primary_i64_lowerbound()
{
int
lb
=
db_lowerbound_i64
(
current_receiver
(),
current_receiver
(),
table
,
N
(
alice
));
eos_assert
(
lb
==
db_find_i64
(
current_receiver
(),
current_receiver
(),
table
,
N
(
alice
)),
err
.
c_str
());
eos
io
_assert
(
lb
==
db_find_i64
(
current_receiver
(),
current_receiver
(),
table
,
N
(
alice
)),
err
.
c_str
());
}
{
int
lb
=
db_lowerbound_i64
(
current_receiver
(),
current_receiver
(),
table
,
N
(
billy
));
eos_assert
(
lb
==
db_find_i64
(
current_receiver
(),
current_receiver
(),
table
,
N
(
bob
)),
err
.
c_str
());
eos
io
_assert
(
lb
==
db_find_i64
(
current_receiver
(),
current_receiver
(),
table
,
N
(
bob
)),
err
.
c_str
());
}
{
int
lb
=
db_lowerbound_i64
(
current_receiver
(),
current_receiver
(),
table
,
N
(
frank
));
eos_assert
(
lb
==
db_find_i64
(
current_receiver
(),
current_receiver
(),
table
,
N
(
joe
)),
err
.
c_str
());
eos
io
_assert
(
lb
==
db_find_i64
(
current_receiver
(),
current_receiver
(),
table
,
N
(
joe
)),
err
.
c_str
());
}
{
int
lb
=
db_lowerbound_i64
(
current_receiver
(),
current_receiver
(),
table
,
N
(
joe
));
eos_assert
(
lb
==
db_find_i64
(
current_receiver
(),
current_receiver
(),
table
,
N
(
joe
)),
err
.
c_str
());
eos
io
_assert
(
lb
==
db_find_i64
(
current_receiver
(),
current_receiver
(),
table
,
N
(
joe
)),
err
.
c_str
());
}
{
int
lb
=
db_lowerbound_i64
(
current_receiver
(),
current_receiver
(),
table
,
N
(
kevin
));
eos_assert
(
lb
==
-
1
,
err
.
c_str
());
eos
io
_assert
(
lb
==
-
1
,
err
.
c_str
());
}
}
...
...
@@ -1684,23 +1683,23 @@ void test_db::primary_i64_upperbound()
const
std
::
string
err
=
"primary_i64_upperbound"
;
{
int
ub
=
db_upperbound_i64
(
current_receiver
(),
current_receiver
(),
table
,
N
(
alice
));
eos_assert
(
ub
==
db_find_i64
(
current_receiver
(),
current_receiver
(),
table
,
N
(
allyson
)),
err
.
c_str
());
eos
io
_assert
(
ub
==
db_find_i64
(
current_receiver
(),
current_receiver
(),
table
,
N
(
allyson
)),
err
.
c_str
());
}
{
int
ub
=
db_upperbound_i64
(
current_receiver
(),
current_receiver
(),
table
,
N
(
billy
));
eos_assert
(
ub
==
db_find_i64
(
current_receiver
(),
current_receiver
(),
table
,
N
(
bob
)),
err
.
c_str
());
eos
io
_assert
(
ub
==
db_find_i64
(
current_receiver
(),
current_receiver
(),
table
,
N
(
bob
)),
err
.
c_str
());
}
{
int
ub
=
db_upperbound_i64
(
current_receiver
(),
current_receiver
(),
table
,
N
(
frank
));
eos_assert
(
ub
==
db_find_i64
(
current_receiver
(),
current_receiver
(),
table
,
N
(
joe
)),
err
.
c_str
());
eos
io
_assert
(
ub
==
db_find_i64
(
current_receiver
(),
current_receiver
(),
table
,
N
(
joe
)),
err
.
c_str
());
}
{
int
ub
=
db_upperbound_i64
(
current_receiver
(),
current_receiver
(),
table
,
N
(
joe
));
eos_assert
(
ub
==
-
1
,
err
.
c_str
());
eos
io
_assert
(
ub
==
-
1
,
err
.
c_str
());
}
{
int
ub
=
db_upperbound_i64
(
current_receiver
(),
current_receiver
(),
table
,
N
(
kevin
));
eos_assert
(
ub
==
-
1
,
err
.
c_str
());
eos
io
_assert
(
ub
==
-
1
,
err
.
c_str
());
}
}
...
...
@@ -1732,62 +1731,62 @@ void test_db::idx64_general()
{
secondary_type
sec
=
0
;
int
itr
=
db_idx64_find_primary
(
current_receiver
(),
current_receiver
(),
table
,
&
sec
,
999
);
eos_assert
(
itr
==
-
1
&&
sec
==
0
,
"idx64_general - db_idx64_find_primary"
);
eos
io
_assert
(
itr
==
-
1
&&
sec
==
0
,
"idx64_general - db_idx64_find_primary"
);
itr
=
db_idx64_find_primary
(
current_receiver
(),
current_receiver
(),
table
,
&
sec
,
110
);
eos_assert
(
itr
!=
-
1
&&
sec
==
N
(
joe
),
"idx64_general - db_idx64_find_primary"
);
eos
io
_assert
(
itr
!=
-
1
&&
sec
==
N
(
joe
),
"idx64_general - db_idx64_find_primary"
);
uint64_t
prim_next
=
0
;
int
itr_next
=
db_idx64_next
(
itr
,
&
prim_next
);
eos_assert
(
itr_next
==
-
1
&&
prim_next
==
0
,
"idx64_general - db_idx64_find_primary"
);
eos
io
_assert
(
itr_next
==
-
1
&&
prim_next
==
0
,
"idx64_general - db_idx64_find_primary"
);
}
// iterate forward starting with charlie
{
secondary_type
sec
=
0
;
int
itr
=
db_idx64_find_primary
(
current_receiver
(),
current_receiver
(),
table
,
&
sec
,
234
);
eos_assert
(
itr
!=
-
1
&&
sec
==
N
(
charlie
),
"idx64_general - db_idx64_find_primary"
);
eos
io
_assert
(
itr
!=
-
1
&&
sec
==
N
(
charlie
),
"idx64_general - db_idx64_find_primary"
);
uint64_t
prim_next
=
0
;
int
itr_next
=
db_idx64_next
(
itr
,
&
prim_next
);
eos_assert
(
itr_next
!=
-
1
&&
prim_next
==
976
,
"idx64_general - db_idx64_next"
);
eos
io
_assert
(
itr_next
!=
-
1
&&
prim_next
==
976
,
"idx64_general - db_idx64_next"
);
secondary_type
sec_next
=
0
;
int
itr_next_expected
=
db_idx64_find_primary
(
current_receiver
(),
current_receiver
(),
table
,
&
sec_next
,
prim_next
);
eos_assert
(
itr_next
==
itr_next_expected
&&
sec_next
==
N
(
emily
),
"idx64_general - db_idx64_next"
);
eos
io
_assert
(
itr_next
==
itr_next_expected
&&
sec_next
==
N
(
emily
),
"idx64_general - db_idx64_next"
);
itr_next
=
db_idx64_next
(
itr_next
,
&
prim_next
);
eos_assert
(
itr_next
!=
-
1
&&
prim_next
==
110
,
"idx64_general - db_idx64_next"
);
eos
io
_assert
(
itr_next
!=
-
1
&&
prim_next
==
110
,
"idx64_general - db_idx64_next"
);
itr_next_expected
=
db_idx64_find_primary
(
current_receiver
(),
current_receiver
(),
table
,
&
sec_next
,
prim_next
);
eos_assert
(
itr_next
==
itr_next_expected
&&
sec_next
==
N
(
joe
),
"idx64_general - db_idx64_next"
);
eos
io
_assert
(
itr_next
==
itr_next_expected
&&
sec_next
==
N
(
joe
),
"idx64_general - db_idx64_next"
);
itr_next
=
db_idx64_next
(
itr_next
,
&
prim_next
);
eos_assert
(
itr_next
==
-
1
&&
prim_next
==
110
,
"idx64_general - db_idx64_next"
);
eos
io
_assert
(
itr_next
==
-
1
&&
prim_next
==
110
,
"idx64_general - db_idx64_next"
);
}
// iterate backward staring with second bob
{
secondary_type
sec
=
0
;
int
itr
=
db_idx64_find_primary
(
current_receiver
(),
current_receiver
(),
table
,
&
sec
,
781
);
eos_assert
(
itr
!=
-
1
&&
sec
==
N
(
bob
),
"idx64_general - db_idx64_find_primary"
);
eos
io
_assert
(
itr
!=
-
1
&&
sec
==
N
(
bob
),
"idx64_general - db_idx64_find_primary"
);
uint64_t
prim_prev
=
0
;
int
itr_prev
=
db_idx64_previous
(
itr
,
&
prim_prev
);
eos_assert
(
itr_prev
!=
-
1
&&
prim_prev
==
540
,
"idx64_general - db_idx64_previous"
);
eos
io
_assert
(
itr_prev
!=
-
1
&&
prim_prev
==
540
,
"idx64_general - db_idx64_previous"
);
secondary_type
sec_prev
=
0
;
int
itr_prev_expected
=
db_idx64_find_primary
(
current_receiver
(),
current_receiver
(),
table
,
&
sec_prev
,
prim_prev
);
eos_assert
(
itr_prev
==
itr_prev_expected
&&
sec_prev
==
N
(
bob
),
"idx64_general - db_idx64_previous"
);
eos
io
_assert
(
itr_prev
==
itr_prev_expected
&&
sec_prev
==
N
(
bob
),
"idx64_general - db_idx64_previous"
);
itr_prev
=
db_idx64_previous
(
itr_prev
,
&
prim_prev
);
eos_assert
(
itr_prev
!=
-
1
&&
prim_prev
==
650
,
"idx64_general - db_idx64_previous"
);
eos
io
_assert
(
itr_prev
!=
-
1
&&
prim_prev
==
650
,
"idx64_general - db_idx64_previous"
);
itr_prev_expected
=
db_idx64_find_primary
(
current_receiver
(),
current_receiver
(),
table
,
&
sec_prev
,
prim_prev
);
eos_assert
(
itr_prev
==
itr_prev_expected
&&
sec_prev
==
N
(
allyson
),
"idx64_general - db_idx64_previous"
);
eos
io
_assert
(
itr_prev
==
itr_prev_expected
&&
sec_prev
==
N
(
allyson
),
"idx64_general - db_idx64_previous"
);
itr_prev
=
db_idx64_previous
(
itr_prev
,
&
prim_prev
);
eos_assert
(
itr_prev
!=
-
1
&&
prim_prev
==
265
,
"idx64_general - db_idx64_previous"
);
eos
io
_assert
(
itr_prev
!=
-
1
&&
prim_prev
==
265
,
"idx64_general - db_idx64_previous"
);
itr_prev_expected
=
db_idx64_find_primary
(
current_receiver
(),
current_receiver
(),
table
,
&
sec_prev
,
prim_prev
);
eos_assert
(
itr_prev
==
itr_prev_expected
&&
sec_prev
==
N
(
alice
),
"idx64_general - db_idx64_previous"
);
eos
io
_assert
(
itr_prev
==
itr_prev_expected
&&
sec_prev
==
N
(
alice
),
"idx64_general - db_idx64_previous"
);
itr_prev
=
db_idx64_previous
(
itr_prev
,
&
prim_prev
);
eos_assert
(
itr_prev
==
-
1
&&
prim_prev
==
265
,
"idx64_general - db_idx64_previous"
);
eos
io
_assert
(
itr_prev
==
-
1
&&
prim_prev
==
265
,
"idx64_general - db_idx64_previous"
);
}
// find_secondary
...
...
@@ -1795,15 +1794,15 @@ void test_db::idx64_general()
uint64_t
prim
=
0
;
auto
sec
=
N
(
bob
);
int
itr
=
db_idx64_find_secondary
(
current_receiver
(),
current_receiver
(),
table
,
&
sec
,
&
prim
);
eos_assert
(
itr
!=
-
1
&&
prim
==
540
,
"idx64_general - db_idx64_find_secondary"
);
eos
io
_assert
(
itr
!=
-
1
&&
prim
==
540
,
"idx64_general - db_idx64_find_secondary"
);
sec
=
N
(
emily
);
itr
=
db_idx64_find_secondary
(
current_receiver
(),
current_receiver
(),
table
,
&
sec
,
&
prim
);
eos_assert
(
itr
!=
-
1
&&
prim
==
976
,
"idx64_general - db_idx64_find_secondary"
);
eos
io
_assert
(
itr
!=
-
1
&&
prim
==
976
,
"idx64_general - db_idx64_find_secondary"
);
sec
=
N
(
frank
);
itr
=
db_idx64_find_secondary
(
current_receiver
(),
current_receiver
(),
table
,
&
sec
,
&
prim
);
eos_assert
(
itr
==
-
1
&&
prim
==
976
,
"idx64_general - db_idx64_find_secondary"
);
eos
io
_assert
(
itr
==
-
1
&&
prim
==
976
,
"idx64_general - db_idx64_find_secondary"
);
}
// update and remove
...
...
@@ -1815,10 +1814,10 @@ void test_db::idx64_general()
db_idx64_update
(
itr
,
current_receiver
(),
&
new_name
);
secondary_type
sec
=
0
;
int
sec_itr
=
db_idx64_find_primary
(
current_receiver
(),
current_receiver
(),
table
,
&
sec
,
ssn
);
eos_assert
(
sec_itr
==
itr
&&
sec
==
new_name
,
"idx64_general - db_idx64_update"
);
eos
io
_assert
(
sec_itr
==
itr
&&
sec
==
new_name
,
"idx64_general - db_idx64_update"
);
db_idx64_remove
(
itr
);
int
itrf
=
db_idx64_find_primary
(
current_receiver
(),
current_receiver
(),
table
,
&
sec
,
ssn
);
eos_assert
(
itrf
==
-
1
,
"idx64_general - db_idx64_remove"
);
eos
io
_assert
(
itrf
==
-
1
,
"idx64_general - db_idx64_remove"
);
}
}
...
...
@@ -1832,31 +1831,31 @@ void test_db::idx64_lowerbound()
uint64_t
lb_prim
=
0
;
const
uint64_t
ssn
=
265
;
int
lb
=
db_idx64_lowerbound
(
current_receiver
(),
current_receiver
(),
table
,
&
lb_sec
,
&
lb_prim
);
eos_assert
(
lb_prim
==
ssn
&&
lb_sec
==
N
(
alice
),
err
.
c_str
());
eos_assert
(
lb
==
db_idx64_find_primary
(
current_receiver
(),
current_receiver
(),
table
,
&
lb_sec
,
ssn
),
err
.
c_str
());
eos
io
_assert
(
lb_prim
==
ssn
&&
lb_sec
==
N
(
alice
),
err
.
c_str
());
eos
io
_assert
(
lb
==
db_idx64_find_primary
(
current_receiver
(),
current_receiver
(),
table
,
&
lb_sec
,
ssn
),
err
.
c_str
());
}
{
secondary_type
lb_sec
=
N
(
billy
);
uint64_t
lb_prim
=
0
;
const
uint64_t
ssn
=
540
;
int
lb
=
db_idx64_lowerbound
(
current_receiver
(),
current_receiver
(),
table
,
&
lb_sec
,
&
lb_prim
);
eos_assert
(
lb_prim
==
ssn
&&
lb_sec
==
N
(
bob
),
err
.
c_str
());
eos_assert
(
lb
==
db_idx64_find_primary
(
current_receiver
(),
current_receiver
(),
table
,
&
lb_sec
,
ssn
),
err
.
c_str
());
eos
io
_assert
(
lb_prim
==
ssn
&&
lb_sec
==
N
(
bob
),
err
.
c_str
());
eos
io
_assert
(
lb
==
db_idx64_find_primary
(
current_receiver
(),
current_receiver
(),
table
,
&
lb_sec
,
ssn
),
err
.
c_str
());
}
{
secondary_type
lb_sec
=
N
(
joe
);
uint64_t
lb_prim
=
0
;
const
uint64_t
ssn
=
110
;
int
lb
=
db_idx64_lowerbound
(
current_receiver
(),
current_receiver
(),
table
,
&
lb_sec
,
&
lb_prim
);
eos_assert
(
lb_prim
==
ssn
&&
lb_sec
==
N
(
joe
),
err
.
c_str
());
eos_assert
(
lb
==
db_idx64_find_primary
(
current_receiver
(),
current_receiver
(),
table
,
&
lb_sec
,
ssn
),
err
.
c_str
());
eos
io
_assert
(
lb_prim
==
ssn
&&
lb_sec
==
N
(
joe
),
err
.
c_str
());
eos
io
_assert
(
lb
==
db_idx64_find_primary
(
current_receiver
(),
current_receiver
(),
table
,
&
lb_sec
,
ssn
),
err
.
c_str
());
}
{
secondary_type
lb_sec
=
N
(
kevin
);
uint64_t
lb_prim
=
0
;
int
lb
=
db_idx64_lowerbound
(
current_receiver
(),
current_receiver
(),
table
,
&
lb_sec
,
&
lb_prim
);
eos_assert
(
lb_prim
==
0
&&
lb_sec
==
N
(
kevin
),
err
.
c_str
());
eos_assert
(
lb
==
-
1
,
""
);
eos
io
_assert
(
lb_prim
==
0
&&
lb_sec
==
N
(
kevin
),
err
.
c_str
());
eos
io
_assert
(
lb
==
-
1
,
""
);
}
}
...
...
@@ -1870,30 +1869,30 @@ void test_db::idx64_upperbound()
uint64_t
ub_prim
=
0
;
const
uint64_t
alice_ssn
=
265
,
allyson_ssn
=
650
;
int
ub
=
db_idx64_upperbound
(
current_receiver
(),
current_receiver
(),
table
,
&
ub_sec
,
&
ub_prim
);
eos_assert
(
ub_prim
==
allyson_ssn
&&
ub_sec
==
N
(
allyson
),
""
);
eos_assert
(
ub
==
db_idx64_find_primary
(
current_receiver
(),
current_receiver
(),
table
,
&
ub_sec
,
allyson_ssn
),
err
.
c_str
());
eos
io
_assert
(
ub_prim
==
allyson_ssn
&&
ub_sec
==
N
(
allyson
),
""
);
eos
io
_assert
(
ub
==
db_idx64_find_primary
(
current_receiver
(),
current_receiver
(),
table
,
&
ub_sec
,
allyson_ssn
),
err
.
c_str
());
}
{
secondary_type
ub_sec
=
N
(
billy
);
uint64_t
ub_prim
=
0
;
const
uint64_t
bob_ssn
=
540
;
int
ub
=
db_idx64_upperbound
(
current_receiver
(),
current_receiver
(),
table
,
&
ub_sec
,
&
ub_prim
);
eos_assert
(
ub_prim
==
bob_ssn
&&
ub_sec
==
N
(
bob
),
""
);
eos_assert
(
ub
==
db_idx64_find_primary
(
current_receiver
(),
current_receiver
(),
table
,
&
ub_sec
,
bob_ssn
),
err
.
c_str
());
eos
io
_assert
(
ub_prim
==
bob_ssn
&&
ub_sec
==
N
(
bob
),
""
);
eos
io
_assert
(
ub
==
db_idx64_find_primary
(
current_receiver
(),
current_receiver
(),
table
,
&
ub_sec
,
bob_ssn
),
err
.
c_str
());
}
{
secondary_type
ub_sec
=
N
(
joe
);
uint64_t
ub_prim
=
0
;
const
uint64_t
ssn
=
110
;
int
ub
=
db_idx64_upperbound
(
current_receiver
(),
current_receiver
(),
table
,
&
ub_sec
,
&
ub_prim
);
eos_assert
(
ub_prim
==
0
&&
ub_sec
==
N
(
joe
),
err
.
c_str
());
eos_assert
(
ub
==
-
1
,
err
.
c_str
());
eos
io
_assert
(
ub_prim
==
0
&&
ub_sec
==
N
(
joe
),
err
.
c_str
());
eos
io
_assert
(
ub
==
-
1
,
err
.
c_str
());
}
{
secondary_type
ub_sec
=
N
(
kevin
);
uint64_t
ub_prim
=
0
;
int
ub
=
db_idx64_upperbound
(
current_receiver
(),
current_receiver
(),
table
,
&
ub_sec
,
&
ub_prim
);
eos_assert
(
ub_prim
==
0
&&
ub_sec
==
N
(
kevin
),
err
.
c_str
());
eos_assert
(
ub
==
-
1
,
err
.
c_str
());
eos
io
_assert
(
ub_prim
==
0
&&
ub_sec
==
N
(
kevin
),
err
.
c_str
());
eos
io
_assert
(
ub
==
-
1
,
err
.
c_str
());
}
}
libraries/chain/apply_context.cpp
浏览文件 @
4e69fb71
...
...
@@ -370,8 +370,7 @@ void apply_context::db_remove_i64( int iterator ) {
int
apply_context
::
db_get_i64
(
int
iterator
,
char
*
buffer
,
size_t
buffer_size
)
{
const
key_value_object
&
obj
=
keyval_cache
.
get
(
iterator
);
if
(
buffer_size
>=
obj
.
value
.
size
()
)
memcpy
(
buffer
,
obj
.
value
.
data
(),
obj
.
value
.
size
()
);
memcpy
(
buffer
,
obj
.
value
.
data
(),
std
::
min
(
obj
.
value
.
size
(),
buffer_size
)
);
return
obj
.
value
.
size
();
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录