1414#include < eosio/chain/kv_chainbase_objects.hpp>
1515
1616using boost::container::flat_set;
17+ using namespace eosio ::chain::backing_store;
1718
1819namespace eosio { namespace chain {
1920
20- using db_context = backing_store::db_context;
21-
2221static inline void print_debug (account_name receiver, const action_trace& ar) {
2322 if (!ar.console .empty ()) {
2423 auto prefix = fc::format_string (
@@ -51,7 +50,6 @@ apply_context::apply_context(controller& con, transaction_context& trx_ctx, uint
5150 act = &trace.act ;
5251 receiver = trace.receiver ;
5352 context_free = trace.context_free ;
54- _db_context = control.kv_db ().create_db_context (*this , receiver);
5553}
5654
5755template <typename Exception>
@@ -104,7 +102,7 @@ void apply_context::exec_one()
104102 kv_iterators.resize (1 );
105103 kv_destroyed_iterators.clear ();
106104 if (!context_free) {
107- kv_backing_store = control. kv_db (). create_kv_context (receiver, create_kv_resource_manager (*this ), control.get_global_properties ().kv_configuration );
105+ kv_backing_store = db_util:: create_kv_context (control, receiver, create_kv_resource_manager (*this ), control.get_global_properties ().kv_configuration );
108106 }
109107 receiver_account = &db.get <account_metadata_object,by_name>( receiver );
110108 if ( !(context_free && control.skip_trx_checks ()) ) {
@@ -222,7 +220,6 @@ void apply_context::exec()
222220 increment_action_id ();
223221 for ( uint32_t i = 1 ; i < _notified.size (); ++i ) {
224222 std::tie ( receiver, action_ordinal ) = _notified[i];
225- _db_context->receiver = receiver;
226223 exec_one ();
227224 increment_action_id ();
228225 }
@@ -846,7 +843,7 @@ int apply_context::get_context_free_data( uint32_t index, char* buffer, size_t b
846843 return copy_size;
847844}
848845
849- int apply_context::db_store_i64_chainbase ( name scope, name table, const account_name& payer, uint64_t id, const char * buffer, size_t buffer_size ) {
846+ int apply_context::db_store_i64 ( name scope, name table, const account_name& payer, uint64_t id, const char * buffer, size_t buffer_size ) {
850847// require_write_lock( scope );
851848 const auto & tab = find_or_create_table ( receiver, scope, table, payer );
852849 auto tableid = tab.id ;
@@ -881,7 +878,7 @@ int apply_context::db_store_i64_chainbase( name scope, name table, const account
881878 return db_iter_store.add ( obj );
882879}
883880
884- void apply_context::db_update_i64_chainbase ( int iterator, account_name payer, const char * buffer, size_t buffer_size ) {
881+ void apply_context::db_update_i64 ( int iterator, account_name payer, const char * buffer, size_t buffer_size ) {
885882 const key_value_object& obj = db_iter_store.get ( iterator );
886883
887884 const auto & table_obj = db_iter_store.get_table ( obj.t_id );
@@ -922,7 +919,7 @@ void apply_context::db_update_i64_chainbase( int iterator, account_name payer, c
922919 });
923920}
924921
925- void apply_context::db_remove_i64_chainbase ( int iterator ) {
922+ void apply_context::db_remove_i64 ( int iterator ) {
926923 const key_value_object& obj = db_iter_store.get ( iterator );
927924
928925 const auto & table_obj = db_iter_store.get_table ( obj.t_id );
@@ -953,7 +950,7 @@ void apply_context::db_remove_i64_chainbase( int iterator ) {
953950 db_iter_store.remove ( iterator );
954951}
955952
956- int apply_context::db_get_i64_chainbase ( int iterator, char * buffer, size_t buffer_size ) {
953+ int apply_context::db_get_i64 ( int iterator, char * buffer, size_t buffer_size ) {
957954 const key_value_object& obj = db_iter_store.get ( iterator );
958955
959956 auto s = obj.value .size ();
@@ -965,7 +962,7 @@ int apply_context::db_get_i64_chainbase( int iterator, char* buffer, size_t buff
965962 return copy_size;
966963}
967964
968- int apply_context::db_next_i64_chainbase ( int iterator, uint64_t & primary ) {
965+ int apply_context::db_next_i64 ( int iterator, uint64_t & primary ) {
969966 if ( iterator < -1 ) return -1 ; // cannot increment past end iterator of table
970967
971968 const auto & obj = db_iter_store.get ( iterator ); // Check for iterator != -1 happens in this call
@@ -980,7 +977,7 @@ int apply_context::db_next_i64_chainbase( int iterator, uint64_t& primary ) {
980977 return db_iter_store.add ( *itr );
981978}
982979
983- int apply_context::db_previous_i64_chainbase ( int iterator, uint64_t & primary ) {
980+ int apply_context::db_previous_i64 ( int iterator, uint64_t & primary ) {
984981 const auto & idx = db.get_index <key_value_index, by_scope_primary>();
985982
986983 if ( iterator < -1 ) // is end iterator
@@ -1012,7 +1009,7 @@ int apply_context::db_previous_i64_chainbase( int iterator, uint64_t& primary )
10121009 return db_iter_store.add (*itr);
10131010}
10141011
1015- int apply_context::db_find_i64_chainbase ( name code, name scope, name table, uint64_t id ) {
1012+ int apply_context::db_find_i64 ( name code, name scope, name table, uint64_t id ) {
10161013 // require_read_lock( code, scope ); // redundant?
10171014
10181015 const auto * tab = find_table ( code, scope, table );
@@ -1026,7 +1023,7 @@ int apply_context::db_find_i64_chainbase( name code, name scope, name table, uin
10261023 return db_iter_store.add ( *obj );
10271024}
10281025
1029- int apply_context::db_lowerbound_i64_chainbase ( name code, name scope, name table, uint64_t id ) {
1026+ int apply_context::db_lowerbound_i64 ( name code, name scope, name table, uint64_t id ) {
10301027 // require_read_lock( code, scope ); // redundant?
10311028
10321029 const auto * tab = find_table ( code, scope, table );
@@ -1042,7 +1039,7 @@ int apply_context::db_lowerbound_i64_chainbase( name code, name scope, name tabl
10421039 return db_iter_store.add ( *itr );
10431040}
10441041
1045- int apply_context::db_upperbound_i64_chainbase ( name code, name scope, name table, uint64_t id ) {
1042+ int apply_context::db_upperbound_i64 ( name code, name scope, name table, uint64_t id ) {
10461043 // require_read_lock( code, scope ); // redundant?
10471044
10481045 const auto * tab = find_table ( code, scope, table );
@@ -1058,7 +1055,7 @@ int apply_context::db_upperbound_i64_chainbase( name code, name scope, name tabl
10581055 return db_iter_store.add ( *itr );
10591056}
10601057
1061- int apply_context::db_end_i64_chainbase ( name code, name scope, name table ) {
1058+ int apply_context::db_end_i64 ( name code, name scope, name table ) {
10621059 // require_read_lock( code, scope ); // redundant?
10631060
10641061 const auto * tab = find_table ( code, scope, table );
@@ -1068,19 +1065,19 @@ int apply_context::db_end_i64_chainbase( name code, name scope, name table ) {
10681065}
10691066
10701067int64_t apply_context::kv_erase (uint64_t contract, const char * key, uint32_t key_size) {
1071- return kv_get_backing_store ().kv_erase (contract, key, key_size);
1068+ return get_kv_context ().kv_erase (contract, key, key_size);
10721069}
10731070
10741071int64_t apply_context::kv_set (uint64_t contract, const char * key, uint32_t key_size, const char * value, uint32_t value_size, account_name payer) {
1075- return kv_get_backing_store ().kv_set (contract, key, key_size, value, value_size, payer);
1072+ return get_kv_context ().kv_set (contract, key, key_size, value, value_size, payer);
10761073}
10771074
10781075bool apply_context::kv_get (uint64_t contract, const char * key, uint32_t key_size, uint32_t & value_size) {
1079- return kv_get_backing_store ().kv_get (contract, key, key_size, value_size);
1076+ return get_kv_context ().kv_get (contract, key, key_size, value_size);
10801077}
10811078
10821079uint32_t apply_context::kv_get_data (uint32_t offset, char * data, uint32_t data_size) {
1083- return kv_get_backing_store ().kv_get_data (offset, data, data_size);
1080+ return get_kv_context ().kv_get_data (offset, data, data_size);
10841081}
10851082
10861083uint32_t apply_context::kv_it_create (uint64_t contract, const char * prefix, uint32_t size) {
@@ -1094,7 +1091,7 @@ uint32_t apply_context::kv_it_create(uint64_t contract, const char* prefix, uint
10941091 itr = kv_iterators.size ();
10951092 kv_iterators.emplace_back ();
10961093 }
1097- kv_iterators[itr] = kv_get_backing_store ().kv_it_create (contract, prefix, size);
1094+ kv_iterators[itr] = get_kv_context ().kv_it_create (contract, prefix, size);
10981095 return itr;
10991096}
11001097
@@ -1201,10 +1198,4 @@ uint32_t apply_context::get_action_id() const {
12011198void apply_context::increment_action_id () {
12021199 trx_context.action_id .increment ();
12031200}
1204-
1205- db_context& apply_context::db_get_context () {
1206- EOS_ASSERT ( _db_context, action_validate_exception,
1207- " context-free actions cannot access state" );
1208- return *_db_context;
1209- }
12101201} } // / eosio::chain
0 commit comments