diff --git a/contracts/test_api/test_db.cpp b/contracts/test_api/test_db.cpp index a7674b41efecbf841b125b81124392bb1aef4e2b..da780b2db843ca18c26612e07e3da6a99305b885 100644 --- a/contracts/test_api/test_db.cpp +++ b/contracts/test_api/test_db.cpp @@ -3,7 +3,6 @@ #include #include #include -#include #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()); } } diff --git a/libraries/chain/apply_context.cpp b/libraries/chain/apply_context.cpp index 149e7939cf8d7bdeeda1a36f567961d3defba0fd..244484a53fac0fbc2e46e221ff3bbc8aa925b747 100644 --- a/libraries/chain/apply_context.cpp +++ b/libraries/chain/apply_context.cpp @@ -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(); }