提交 4e69fb71 编写于 作者: K Khaled Al-Hassanieh

Fixed master rebase issues

上级 2e0eac0f
......@@ -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" );
eosio_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");
eosio_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");
eosio_assert(end_itr == -1, "primary_i64_general - db_next_i64");
// prim didn't change
eos_assert(prim == 0, "primary_i64_general - db_next_i64");
eosio_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");
eosio_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");
eosio_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");
eosio_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");
eosio_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");
eosio_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");
eosio_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, "");
eosio_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");
eosio_assert(len == strlen("bob's info"), "primary_i64_general - db_get_i64");
eosio_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");
eosio_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, "");
eosio_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");
eosio_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());
eosio_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());
eosio_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());
eosio_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());
eosio_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());
eosio_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());
eosio_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());
eosio_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());
eosio_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());
eosio_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());
eosio_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");
eosio_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");
eosio_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");
eosio_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");
eosio_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");
eosio_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");
eosio_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");
eosio_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");
eosio_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");
eosio_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");
eosio_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");
eosio_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");
eosio_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");
eosio_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");
eosio_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");
eosio_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");
eosio_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");
eosio_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");
eosio_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");
eosio_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");
eosio_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");
eosio_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");
eosio_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());
eosio_assert(lb_prim == ssn && lb_sec == N(alice), err.c_str());
eosio_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());
eosio_assert(lb_prim == ssn && lb_sec == N(bob), err.c_str());
eosio_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());
eosio_assert(lb_prim == ssn && lb_sec == N(joe), err.c_str());
eosio_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, "");
eosio_assert(lb_prim == 0 && lb_sec == N(kevin), err.c_str());
eosio_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());
eosio_assert(ub_prim == allyson_ssn && ub_sec == N(allyson), "");
eosio_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());
eosio_assert(ub_prim == bob_ssn && ub_sec == N(bob), "");
eosio_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());
eosio_assert(ub_prim == 0 && ub_sec == N(joe), err.c_str());
eosio_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());
eosio_assert(ub_prim == 0 && ub_sec == N(kevin), err.c_str());
eosio_assert(ub == -1, err.c_str());
}
}
......@@ -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.
先完成此消息的编辑!
想要评论请 注册