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

Fixed master rebase issues

上级 2e0eac0f
...@@ -3,7 +3,6 @@ ...@@ -3,7 +3,6 @@
#include <eosiolib/db.h> #include <eosiolib/db.h>
#include <eosiolib/db.hpp> #include <eosiolib/db.hpp>
#include <eosiolib/memory.hpp> #include <eosiolib/memory.hpp>
#include <eosiolib/eosio.hpp>
#include "test_api.hpp" #include "test_api.hpp"
int primary[11] = {0,1,2,3,4,5,6,7,8,9,10}; int primary[11] = {0,1,2,3,4,5,6,7,8,9,10};
...@@ -1563,10 +1562,10 @@ void test_db::primary_i64_general() ...@@ -1563,10 +1562,10 @@ void test_db::primary_i64_general()
uint64_t prim = 0; uint64_t prim = 0;
int itr_next = db_next_i64(alice_itr, &prim); int itr_next = db_next_i64(alice_itr, &prim);
int itr_next_expected = db_find_i64(current_receiver(), current_receiver(), table1, N(allyson)); 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 = db_next_i64(itr_next, &prim);
itr_next_expected = db_find_i64(current_receiver(), current_receiver(), table1, N(bob)); 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 // next
...@@ -1575,9 +1574,9 @@ void test_db::primary_i64_general() ...@@ -1575,9 +1574,9 @@ void test_db::primary_i64_general()
// nothing after charlie // nothing after charlie
uint64_t prim = 0; uint64_t prim = 0;
int end_itr = db_next_i64(charlie_itr, &prim); 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 // 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 // previous
...@@ -1586,53 +1585,53 @@ void test_db::primary_i64_general() ...@@ -1586,53 +1585,53 @@ void test_db::primary_i64_general()
uint64_t prim = 0; uint64_t prim = 0;
int itr_prev = db_previous_i64(charlie_itr, &prim); int itr_prev = db_previous_i64(charlie_itr, &prim);
int itr_prev_expected = db_find_i64(current_receiver(), current_receiver(), table1, N(bob)); 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 = db_previous_i64(itr_prev, &prim);
itr_prev_expected = db_find_i64(current_receiver(), current_receiver(), table1, N(allyson)); 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 = db_previous_i64(itr_prev, &prim);
itr_prev_expected = db_find_i64(current_receiver(), current_receiver(), table1, N(alice)); 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 = db_previous_i64(itr_prev, &prim);
itr_prev_expected = -1; 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 // remove
{ {
int itr = db_find_i64(current_receiver(), current_receiver(), table1, N(alice)); 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); db_remove_i64(itr);
itr = db_find_i64(current_receiver(), current_receiver(), table1, N(alice)); 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 // get
{ {
int itr = db_find_i64(current_receiver(), current_receiver(), table1, N(bob)); int itr = db_find_i64(current_receiver(), current_receiver(), table1, N(bob));
eos_assert(itr != -1, ""); eosio_assert(itr != -1, "");
int buffer_len = 5; int buffer_len = 5;
char value[50]; char value[50];
auto len = db_get_i64(itr, value, buffer_len); auto len = db_get_i64(itr, value, buffer_len);
value[buffer_len] = '\0'; value[buffer_len] = '\0';
std::string s(value); std::string s(value);
eos_assert(len == strlen("bob's info"), "primary_i64_general - db_get_i64"); eosio_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(s == "bob's", "primary_i64_general - db_get_i64");
buffer_len = 20; buffer_len = 20;
db_get_i64(itr, value, buffer_len); db_get_i64(itr, value, buffer_len);
value[buffer_len] = '\0'; value[buffer_len] = '\0';
std::string sfull(value); 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 // update
{ {
int itr = db_find_i64(current_receiver(), current_receiver(), table1, N(bob)); 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"; const char* new_value = "bob's new info";
int new_value_len = strlen(new_value); int new_value_len = strlen(new_value);
db_update_i64(itr, current_receiver(), new_value, new_value_len); db_update_i64(itr, current_receiver(), new_value, new_value_len);
...@@ -1640,7 +1639,7 @@ void test_db::primary_i64_general() ...@@ -1640,7 +1639,7 @@ void test_db::primary_i64_general()
auto len = db_get_i64(itr, ret_value, new_value_len); auto len = db_get_i64(itr, ret_value, new_value_len);
ret_value[new_value_len] = '\0'; ret_value[new_value_len] = '\0';
std::string sret(ret_value); 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() ...@@ -1658,23 +1657,23 @@ void test_db::primary_i64_lowerbound()
{ {
int lb = db_lowerbound_i64(current_receiver(), current_receiver(), table, N(alice)); 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)); 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)); 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)); 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)); 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() ...@@ -1684,23 +1683,23 @@ void test_db::primary_i64_upperbound()
const std::string err = "primary_i64_upperbound"; const std::string err = "primary_i64_upperbound";
{ {
int ub = db_upperbound_i64(current_receiver(), current_receiver(), table, N(alice)); 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)); 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)); 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)); 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)); 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() ...@@ -1732,62 +1731,62 @@ void test_db::idx64_general()
{ {
secondary_type sec = 0; secondary_type sec = 0;
int itr = db_idx64_find_primary(current_receiver(), current_receiver(), table, &sec, 999); 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); 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; uint64_t prim_next = 0;
int itr_next = db_idx64_next(itr, &prim_next); 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 // iterate forward starting with charlie
{ {
secondary_type sec = 0; secondary_type sec = 0;
int itr = db_idx64_find_primary(current_receiver(), current_receiver(), table, &sec, 234); 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; uint64_t prim_next = 0;
int itr_next = db_idx64_next(itr, &prim_next); 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; secondary_type sec_next = 0;
int itr_next_expected = db_idx64_find_primary(current_receiver(), current_receiver(), table, &sec_next, prim_next); 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); 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); 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); 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 // iterate backward staring with second bob
{ {
secondary_type sec = 0; secondary_type sec = 0;
int itr = db_idx64_find_primary(current_receiver(), current_receiver(), table, &sec, 781); 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; uint64_t prim_prev = 0;
int itr_prev = db_idx64_previous(itr, &prim_prev); 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; secondary_type sec_prev = 0;
int itr_prev_expected = db_idx64_find_primary(current_receiver(), current_receiver(), table, &sec_prev, prim_prev); 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); 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); 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); 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); 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); 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 // find_secondary
...@@ -1795,15 +1794,15 @@ void test_db::idx64_general() ...@@ -1795,15 +1794,15 @@ void test_db::idx64_general()
uint64_t prim = 0; uint64_t prim = 0;
auto sec = N(bob); auto sec = N(bob);
int itr = db_idx64_find_secondary(current_receiver(), current_receiver(), table, &sec, &prim); 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); sec = N(emily);
itr = db_idx64_find_secondary(current_receiver(), current_receiver(), table, &sec, &prim); 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); sec = N(frank);
itr = db_idx64_find_secondary(current_receiver(), current_receiver(), table, &sec, &prim); 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 // update and remove
...@@ -1815,10 +1814,10 @@ void test_db::idx64_general() ...@@ -1815,10 +1814,10 @@ void test_db::idx64_general()
db_idx64_update(itr, current_receiver(), &new_name); db_idx64_update(itr, current_receiver(), &new_name);
secondary_type sec = 0; secondary_type sec = 0;
int sec_itr = db_idx64_find_primary(current_receiver(), current_receiver(), table, &sec, ssn); 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); db_idx64_remove(itr);
int itrf = db_idx64_find_primary(current_receiver(), current_receiver(), table, &sec, ssn); 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() ...@@ -1832,31 +1831,31 @@ void test_db::idx64_lowerbound()
uint64_t lb_prim = 0; uint64_t lb_prim = 0;
const uint64_t ssn = 265; const uint64_t ssn = 265;
int lb = db_idx64_lowerbound(current_receiver(), current_receiver(), table, &lb_sec, &lb_prim); 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()); eosio_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 == db_idx64_find_primary(current_receiver(), current_receiver(), table, &lb_sec, ssn), err.c_str());
} }
{ {
secondary_type lb_sec = N(billy); secondary_type lb_sec = N(billy);
uint64_t lb_prim = 0; uint64_t lb_prim = 0;
const uint64_t ssn = 540; const uint64_t ssn = 540;
int lb = db_idx64_lowerbound(current_receiver(), current_receiver(), table, &lb_sec, &lb_prim); 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()); eosio_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 == db_idx64_find_primary(current_receiver(), current_receiver(), table, &lb_sec, ssn), err.c_str());
} }
{ {
secondary_type lb_sec = N(joe); secondary_type lb_sec = N(joe);
uint64_t lb_prim = 0; uint64_t lb_prim = 0;
const uint64_t ssn = 110; const uint64_t ssn = 110;
int lb = db_idx64_lowerbound(current_receiver(), current_receiver(), table, &lb_sec, &lb_prim); 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()); eosio_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 == db_idx64_find_primary(current_receiver(), current_receiver(), table, &lb_sec, ssn), err.c_str());
} }
{ {
secondary_type lb_sec = N(kevin); secondary_type lb_sec = N(kevin);
uint64_t lb_prim = 0; uint64_t lb_prim = 0;
int lb = db_idx64_lowerbound(current_receiver(), current_receiver(), table, &lb_sec, &lb_prim); 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()); eosio_assert(lb_prim == 0 && lb_sec == N(kevin), err.c_str());
eos_assert(lb == -1, ""); eosio_assert(lb == -1, "");
} }
} }
...@@ -1870,30 +1869,30 @@ void test_db::idx64_upperbound() ...@@ -1870,30 +1869,30 @@ void test_db::idx64_upperbound()
uint64_t ub_prim = 0; uint64_t ub_prim = 0;
const uint64_t alice_ssn = 265, allyson_ssn = 650; const uint64_t alice_ssn = 265, allyson_ssn = 650;
int ub = db_idx64_upperbound(current_receiver(), current_receiver(), table, &ub_sec, &ub_prim); int ub = db_idx64_upperbound(current_receiver(), current_receiver(), table, &ub_sec, &ub_prim);
eos_assert(ub_prim == allyson_ssn && ub_sec == N(allyson), ""); eosio_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 == db_idx64_find_primary(current_receiver(), current_receiver(), table, &ub_sec, allyson_ssn), err.c_str());
} }
{ {
secondary_type ub_sec = N(billy); secondary_type ub_sec = N(billy);
uint64_t ub_prim = 0; uint64_t ub_prim = 0;
const uint64_t bob_ssn = 540; const uint64_t bob_ssn = 540;
int ub = db_idx64_upperbound(current_receiver(), current_receiver(), table, &ub_sec, &ub_prim); int ub = db_idx64_upperbound(current_receiver(), current_receiver(), table, &ub_sec, &ub_prim);
eos_assert(ub_prim == bob_ssn && ub_sec == N(bob), ""); eosio_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 == db_idx64_find_primary(current_receiver(), current_receiver(), table, &ub_sec, bob_ssn), err.c_str());
} }
{ {
secondary_type ub_sec = N(joe); secondary_type ub_sec = N(joe);
uint64_t ub_prim = 0; uint64_t ub_prim = 0;
const uint64_t ssn = 110; const uint64_t ssn = 110;
int ub = db_idx64_upperbound(current_receiver(), current_receiver(), table, &ub_sec, &ub_prim); 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()); eosio_assert(ub_prim == 0 && ub_sec == N(joe), err.c_str());
eos_assert(ub == -1, err.c_str()); eosio_assert(ub == -1, err.c_str());
} }
{ {
secondary_type ub_sec = N(kevin); secondary_type ub_sec = N(kevin);
uint64_t ub_prim = 0; uint64_t ub_prim = 0;
int ub = db_idx64_upperbound(current_receiver(), current_receiver(), table, &ub_sec, &ub_prim); 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()); eosio_assert(ub_prim == 0 && ub_sec == N(kevin), err.c_str());
eos_assert(ub == -1, err.c_str()); eosio_assert(ub == -1, err.c_str());
} }
} }
...@@ -370,8 +370,7 @@ void apply_context::db_remove_i64( int iterator ) { ...@@ -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 ) { int apply_context::db_get_i64( int iterator, char* buffer, size_t buffer_size ) {
const key_value_object& obj = keyval_cache.get( iterator ); const key_value_object& obj = keyval_cache.get( iterator );
if( buffer_size >= obj.value.size() ) memcpy( buffer, obj.value.data(), std::min(obj.value.size(), buffer_size) );
memcpy( buffer, obj.value.data(), obj.value.size() );
return obj.value.size(); return obj.value.size();
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册