Enhance secondary_index
Enhance secondary_index by distinguishing between previous objects loaded from persistence versus new objects created during the session
This commit is contained in:
parent
8325b25d0e
commit
8ec87b404f
13 changed files with 99 additions and 33 deletions
|
|
@ -142,7 +142,12 @@ set<address> account_member_index::get_address_members(const account_object& a)c
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
void account_member_index::object_inserted(const object& obj)
|
void account_member_index::object_loaded(const object& obj)
|
||||||
|
{
|
||||||
|
object_created(obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
void account_member_index::object_created(const object& obj)
|
||||||
{
|
{
|
||||||
assert( dynamic_cast<const account_object*>(&obj) ); // for debug only
|
assert( dynamic_cast<const account_object*>(&obj) ); // for debug only
|
||||||
const account_object& a = static_cast<const account_object&>(obj);
|
const account_object& a = static_cast<const account_object&>(obj);
|
||||||
|
|
@ -256,7 +261,10 @@ void account_member_index::object_modified(const object& after)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void account_referrer_index::object_inserted( const object& obj )
|
void account_referrer_index::object_loaded( const object& obj )
|
||||||
|
{
|
||||||
|
}
|
||||||
|
void account_referrer_index::object_created( const object& obj )
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
void account_referrer_index::object_removed( const object& obj )
|
void account_referrer_index::object_removed( const object& obj )
|
||||||
|
|
@ -272,7 +280,12 @@ void account_referrer_index::object_modified( const object& after )
|
||||||
const uint8_t balances_by_account_index::bits = 20;
|
const uint8_t balances_by_account_index::bits = 20;
|
||||||
const uint64_t balances_by_account_index::mask = (1ULL << balances_by_account_index::bits) - 1;
|
const uint64_t balances_by_account_index::mask = (1ULL << balances_by_account_index::bits) - 1;
|
||||||
|
|
||||||
void balances_by_account_index::object_inserted( const object& obj )
|
void balances_by_account_index::object_loaded( const object& obj )
|
||||||
|
{
|
||||||
|
object_created(obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
void balances_by_account_index::object_created( const object& obj )
|
||||||
{
|
{
|
||||||
const auto& abo = dynamic_cast< const account_balance_object& >( obj );
|
const auto& abo = dynamic_cast< const account_balance_object& >( obj );
|
||||||
while( balances.size() < (abo.owner.instance.value >> bits) + 1 )
|
while( balances.size() < (abo.owner.instance.value >> bits) + 1 )
|
||||||
|
|
|
||||||
|
|
@ -323,7 +323,8 @@ namespace graphene { namespace chain {
|
||||||
};
|
};
|
||||||
|
|
||||||
public:
|
public:
|
||||||
virtual void object_inserted( const object& obj ) override;
|
virtual void object_loaded( const object& obj ) override;
|
||||||
|
virtual void object_created( const object& obj ) override;
|
||||||
virtual void object_removed( const object& obj ) override;
|
virtual void object_removed( const object& obj ) override;
|
||||||
virtual void about_to_modify( const object& before ) override;
|
virtual void about_to_modify( const object& before ) override;
|
||||||
virtual void object_modified( const object& after ) override;
|
virtual void object_modified( const object& after ) override;
|
||||||
|
|
@ -354,7 +355,8 @@ namespace graphene { namespace chain {
|
||||||
class account_referrer_index : public secondary_index
|
class account_referrer_index : public secondary_index
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual void object_inserted( const object& obj ) override;
|
virtual void object_loaded( const object& obj ) override;
|
||||||
|
virtual void object_created( const object& obj ) override;
|
||||||
virtual void object_removed( const object& obj ) override;
|
virtual void object_removed( const object& obj ) override;
|
||||||
virtual void about_to_modify( const object& before ) override;
|
virtual void about_to_modify( const object& before ) override;
|
||||||
virtual void object_modified( const object& after ) override;
|
virtual void object_modified( const object& after ) override;
|
||||||
|
|
@ -395,7 +397,8 @@ namespace graphene { namespace chain {
|
||||||
class balances_by_account_index : public secondary_index
|
class balances_by_account_index : public secondary_index
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual void object_inserted( const object& obj ) override;
|
virtual void object_loaded( const object& obj ) override;
|
||||||
|
virtual void object_created( const object& obj ) override;
|
||||||
virtual void object_removed( const object& obj ) override;
|
virtual void object_removed( const object& obj ) override;
|
||||||
virtual void about_to_modify( const object& before ) override;
|
virtual void about_to_modify( const object& before ) override;
|
||||||
virtual void object_modified( const object& after ) override;
|
virtual void object_modified( const object& after ) override;
|
||||||
|
|
|
||||||
|
|
@ -60,7 +60,8 @@ namespace graphene
|
||||||
class offer_item_index : public secondary_index
|
class offer_item_index : public secondary_index
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual void object_inserted(const object &obj) override;
|
virtual void object_loaded(const object &obj) override;
|
||||||
|
virtual void object_created(const object &obj) override;
|
||||||
virtual void object_removed(const object &obj) override;
|
virtual void object_removed(const object &obj) override;
|
||||||
virtual void about_to_modify(const object &before) override{};
|
virtual void about_to_modify(const object &before) override{};
|
||||||
virtual void object_modified(const object &after) override;
|
virtual void object_modified(const object &after) override;
|
||||||
|
|
|
||||||
|
|
@ -62,7 +62,7 @@ class proposal_object : public abstract_object<proposal_object>
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief tracks all of the proposal objects that requrie approval of
|
* @brief tracks all of the proposal objects that require approval of
|
||||||
* an individual account.
|
* an individual account.
|
||||||
*
|
*
|
||||||
* @ingroup object
|
* @ingroup object
|
||||||
|
|
@ -75,7 +75,8 @@ class proposal_object : public abstract_object<proposal_object>
|
||||||
class required_approval_index : public secondary_index
|
class required_approval_index : public secondary_index
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual void object_inserted( const object& obj ) override;
|
virtual void object_loaded( const object& obj ) override;
|
||||||
|
virtual void object_created( const object& obj ) override;
|
||||||
virtual void object_removed( const object& obj ) override;
|
virtual void object_removed( const object& obj ) override;
|
||||||
virtual void about_to_modify( const object& before ) override{};
|
virtual void about_to_modify( const object& before ) override{};
|
||||||
virtual void object_modified( const object& after ) override{};
|
virtual void object_modified( const object& after ) override{};
|
||||||
|
|
|
||||||
|
|
@ -224,7 +224,8 @@ namespace graphene { namespace chain {
|
||||||
class tournament_players_index : public secondary_index
|
class tournament_players_index : public secondary_index
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual void object_inserted( const object& obj ) override;
|
virtual void object_loaded( const object& obj ) override;
|
||||||
|
virtual void object_created( const object& obj ) override;
|
||||||
virtual void object_removed( const object& obj ) override;
|
virtual void object_removed( const object& obj ) override;
|
||||||
virtual void about_to_modify( const object& before ) override;
|
virtual void about_to_modify( const object& before ) override;
|
||||||
virtual void object_modified( const object& after ) override;
|
virtual void object_modified( const object& after ) override;
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,12 @@ namespace graphene
|
||||||
namespace chain
|
namespace chain
|
||||||
{
|
{
|
||||||
|
|
||||||
void offer_item_index::object_inserted(const object &obj)
|
void offer_item_index::object_loaded(const object &obj)
|
||||||
|
{
|
||||||
|
object_created(obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
void offer_item_index::object_created(const object &obj)
|
||||||
{
|
{
|
||||||
assert(dynamic_cast<const offer_object *>(&obj));
|
assert(dynamic_cast<const offer_object *>(&obj));
|
||||||
const offer_object &oo = static_cast<const offer_object &>(obj);
|
const offer_object &oo = static_cast<const offer_object &>(obj);
|
||||||
|
|
@ -47,4 +52,4 @@ namespace graphene
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace chain
|
} // namespace chain
|
||||||
} // namespace graphene
|
} // namespace graphene
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,12 @@ bool proposal_object::is_authorized_to_execute( database& db ) const
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void required_approval_index::object_inserted( const object& obj )
|
void required_approval_index::object_loaded( const object& obj )
|
||||||
|
{
|
||||||
|
object_created(obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
void required_approval_index::object_created( const object& obj )
|
||||||
{
|
{
|
||||||
assert( dynamic_cast<const proposal_object*>(&obj) );
|
assert( dynamic_cast<const proposal_object*>(&obj) );
|
||||||
const proposal_object& p = static_cast<const proposal_object&>(obj);
|
const proposal_object& p = static_cast<const proposal_object&>(obj);
|
||||||
|
|
|
||||||
|
|
@ -653,7 +653,12 @@ namespace graphene { namespace chain {
|
||||||
return vector<tournament_id_type>();
|
return vector<tournament_id_type>();
|
||||||
}
|
}
|
||||||
|
|
||||||
void tournament_players_index::object_inserted(const object& obj)
|
void tournament_players_index::object_loaded(const object& obj)
|
||||||
|
{
|
||||||
|
object_created(obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
void tournament_players_index::object_created(const object& obj)
|
||||||
{
|
{
|
||||||
assert( dynamic_cast<const tournament_details_object*>(&obj) ); // for debug only
|
assert( dynamic_cast<const tournament_details_object*>(&obj) ); // for debug only
|
||||||
const tournament_details_object& details = static_cast<const tournament_details_object&>(obj);
|
const tournament_details_object& details = static_cast<const tournament_details_object&>(obj);
|
||||||
|
|
|
||||||
|
|
@ -135,13 +135,23 @@ namespace graphene { namespace db {
|
||||||
virtual void object_default( object& obj )const = 0;
|
virtual void object_default( object& obj )const = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/** @class secondary_index
|
||||||
|
* @brief A secondary index is intended to observe a primary index.
|
||||||
|
* A secondary index is not automatically persisted when the node shuts own.
|
||||||
|
*/
|
||||||
class secondary_index
|
class secondary_index
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual ~secondary_index(){};
|
virtual ~secondary_index(){};
|
||||||
virtual void object_inserted( const object& obj ){};
|
// Called when an object from a previous node session is loaded from persistence
|
||||||
|
virtual void object_loaded( const object& obj ){};
|
||||||
|
// Called when an object from the current node session is created
|
||||||
|
virtual void object_created( const object& obj ){};
|
||||||
|
// Called when an object is removed
|
||||||
virtual void object_removed( const object& obj ){};
|
virtual void object_removed( const object& obj ){};
|
||||||
|
// Called when an object is about to be modified
|
||||||
virtual void about_to_modify( const object& before ){};
|
virtual void about_to_modify( const object& before ){};
|
||||||
|
// Called when an object is modified
|
||||||
virtual void object_modified( const object& after ){};
|
virtual void object_modified( const object& after ){};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -226,7 +236,12 @@ namespace graphene { namespace db {
|
||||||
|
|
||||||
virtual ~direct_index(){}
|
virtual ~direct_index(){}
|
||||||
|
|
||||||
virtual void object_inserted( const object& obj )
|
virtual void object_loaded( const object& obj )
|
||||||
|
{
|
||||||
|
object_created(obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void object_created( const object& obj )
|
||||||
{
|
{
|
||||||
uint64_t instance = obj.id.instance();
|
uint64_t instance = obj.id.instance();
|
||||||
if( instance == next )
|
if( instance == next )
|
||||||
|
|
@ -386,7 +401,7 @@ namespace graphene { namespace db {
|
||||||
{
|
{
|
||||||
const auto& result = DerivedIndex::insert( fc::raw::unpack<object_type>( data ) );
|
const auto& result = DerivedIndex::insert( fc::raw::unpack<object_type>( data ) );
|
||||||
for( const auto& item : _sindex )
|
for( const auto& item : _sindex )
|
||||||
item->object_inserted( result );
|
item->object_loaded( result );
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -395,7 +410,7 @@ namespace graphene { namespace db {
|
||||||
{
|
{
|
||||||
const auto& result = DerivedIndex::create( constructor );
|
const auto& result = DerivedIndex::create( constructor );
|
||||||
for( const auto& item : _sindex )
|
for( const auto& item : _sindex )
|
||||||
item->object_inserted( result );
|
item->object_created( result );
|
||||||
on_add( result );
|
on_add( result );
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -84,7 +84,8 @@ class account_history_plugin : public graphene::app::plugin
|
||||||
class affiliate_reward_index : public secondary_index
|
class affiliate_reward_index : public secondary_index
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual void object_inserted( const object& obj ) override;
|
virtual void object_loaded( const object& obj ) override;
|
||||||
|
virtual void object_created( const object& obj ) override;
|
||||||
virtual void object_removed( const object& obj ) override;
|
virtual void object_removed( const object& obj ) override;
|
||||||
virtual void about_to_modify( const object& before ) override{};
|
virtual void about_to_modify( const object& before ) override{};
|
||||||
virtual void object_modified( const object& after ) override{};
|
virtual void object_modified( const object& after ) override{};
|
||||||
|
|
|
||||||
|
|
@ -66,7 +66,8 @@ class persistent_bet_object_helper : public secondary_index
|
||||||
|
|
||||||
using watched_index = primary_index<bet_object_index>;
|
using watched_index = primary_index<bet_object_index>;
|
||||||
|
|
||||||
virtual void object_inserted(const object& obj) override;
|
//virtual void object_loaded(const object& obj) override;
|
||||||
|
virtual void object_created(const object& obj) override;
|
||||||
//virtual void object_removed( const object& obj ) override;
|
//virtual void object_removed( const object& obj ) override;
|
||||||
//virtual void about_to_modify( const object& before ) override;
|
//virtual void about_to_modify( const object& before ) override;
|
||||||
virtual void object_modified(const object& after) override;
|
virtual void object_modified(const object& after) override;
|
||||||
|
|
@ -75,7 +76,7 @@ class persistent_bet_object_helper : public secondary_index
|
||||||
bookie_plugin* _bookie_plugin;
|
bookie_plugin* _bookie_plugin;
|
||||||
};
|
};
|
||||||
|
|
||||||
void persistent_bet_object_helper::object_inserted(const object& obj)
|
void persistent_bet_object_helper::object_created(const object& obj)
|
||||||
{
|
{
|
||||||
const bet_object& bet_obj = *boost::polymorphic_downcast<const bet_object*>(&obj);
|
const bet_object& bet_obj = *boost::polymorphic_downcast<const bet_object*>(&obj);
|
||||||
_bookie_plugin->database().create<persistent_bet_object>([&](persistent_bet_object& saved_bet_obj) {
|
_bookie_plugin->database().create<persistent_bet_object>([&](persistent_bet_object& saved_bet_obj) {
|
||||||
|
|
@ -103,7 +104,8 @@ class persistent_betting_market_object_helper : public secondary_index
|
||||||
|
|
||||||
using watched_index = primary_index<betting_market_object_index>;
|
using watched_index = primary_index<betting_market_object_index>;
|
||||||
|
|
||||||
virtual void object_inserted(const object& obj) override;
|
//virtual void object_loaded(const object& obj) override;
|
||||||
|
virtual void object_created(const object& obj) override;
|
||||||
//virtual void object_removed( const object& obj ) override;
|
//virtual void object_removed( const object& obj ) override;
|
||||||
//virtual void about_to_modify( const object& before ) override;
|
//virtual void about_to_modify( const object& before ) override;
|
||||||
virtual void object_modified(const object& after) override;
|
virtual void object_modified(const object& after) override;
|
||||||
|
|
@ -112,7 +114,7 @@ class persistent_betting_market_object_helper : public secondary_index
|
||||||
bookie_plugin* _bookie_plugin;
|
bookie_plugin* _bookie_plugin;
|
||||||
};
|
};
|
||||||
|
|
||||||
void persistent_betting_market_object_helper::object_inserted(const object& obj)
|
void persistent_betting_market_object_helper::object_created(const object& obj)
|
||||||
{
|
{
|
||||||
const betting_market_object& betting_market_obj = *boost::polymorphic_downcast<const betting_market_object*>(&obj);
|
const betting_market_object& betting_market_obj = *boost::polymorphic_downcast<const betting_market_object*>(&obj);
|
||||||
_bookie_plugin->database().create<persistent_betting_market_object>([&](persistent_betting_market_object& saved_betting_market_obj) {
|
_bookie_plugin->database().create<persistent_betting_market_object>([&](persistent_betting_market_object& saved_betting_market_obj) {
|
||||||
|
|
@ -140,7 +142,8 @@ class persistent_betting_market_group_object_helper : public secondary_index
|
||||||
|
|
||||||
using watched_index = primary_index<betting_market_group_object_index>;
|
using watched_index = primary_index<betting_market_group_object_index>;
|
||||||
|
|
||||||
virtual void object_inserted(const object& obj) override;
|
//virtual void object_loaded(const object& obj) override;
|
||||||
|
virtual void object_created(const object& obj) override;
|
||||||
//virtual void object_removed( const object& obj ) override;
|
//virtual void object_removed( const object& obj ) override;
|
||||||
//virtual void about_to_modify( const object& before ) override;
|
//virtual void about_to_modify( const object& before ) override;
|
||||||
virtual void object_modified(const object& after) override;
|
virtual void object_modified(const object& after) override;
|
||||||
|
|
@ -149,7 +152,7 @@ class persistent_betting_market_group_object_helper : public secondary_index
|
||||||
bookie_plugin* _bookie_plugin;
|
bookie_plugin* _bookie_plugin;
|
||||||
};
|
};
|
||||||
|
|
||||||
void persistent_betting_market_group_object_helper::object_inserted(const object& obj)
|
void persistent_betting_market_group_object_helper::object_created(const object& obj)
|
||||||
{
|
{
|
||||||
const betting_market_group_object& betting_market_group_obj = *boost::polymorphic_downcast<const betting_market_group_object*>(&obj);
|
const betting_market_group_object& betting_market_group_obj = *boost::polymorphic_downcast<const betting_market_group_object*>(&obj);
|
||||||
_bookie_plugin->database().create<persistent_betting_market_group_object>([&](persistent_betting_market_group_object& saved_betting_market_group_obj) {
|
_bookie_plugin->database().create<persistent_betting_market_group_object>([&](persistent_betting_market_group_object& saved_betting_market_group_obj) {
|
||||||
|
|
@ -177,7 +180,8 @@ class persistent_event_object_helper : public secondary_index
|
||||||
|
|
||||||
using watched_index = primary_index<event_object_index>;
|
using watched_index = primary_index<event_object_index>;
|
||||||
|
|
||||||
virtual void object_inserted(const object& obj) override;
|
//virtual void object_loaded(const object& obj) override;
|
||||||
|
virtual void object_created(const object& obj) override;
|
||||||
//virtual void object_removed( const object& obj ) override;
|
//virtual void object_removed( const object& obj ) override;
|
||||||
//virtual void about_to_modify( const object& before ) override;
|
//virtual void about_to_modify( const object& before ) override;
|
||||||
virtual void object_modified(const object& after) override;
|
virtual void object_modified(const object& after) override;
|
||||||
|
|
@ -186,7 +190,7 @@ class persistent_event_object_helper : public secondary_index
|
||||||
bookie_plugin* _bookie_plugin;
|
bookie_plugin* _bookie_plugin;
|
||||||
};
|
};
|
||||||
|
|
||||||
void persistent_event_object_helper::object_inserted(const object& obj)
|
void persistent_event_object_helper::object_created(const object& obj)
|
||||||
{
|
{
|
||||||
const event_object& event_obj = *boost::polymorphic_downcast<const event_object*>(&obj);
|
const event_object& event_obj = *boost::polymorphic_downcast<const event_object*>(&obj);
|
||||||
_bookie_plugin->database().create<persistent_event_object>([&](persistent_event_object& saved_event_obj) {
|
_bookie_plugin->database().create<persistent_event_object>([&](persistent_event_object& saved_event_obj) {
|
||||||
|
|
|
||||||
|
|
@ -68,7 +68,8 @@ class events_by_competitor_index : public secondary_index
|
||||||
public:
|
public:
|
||||||
virtual ~events_by_competitor_index() {}
|
virtual ~events_by_competitor_index() {}
|
||||||
|
|
||||||
virtual void object_inserted( const object& obj ) override;
|
virtual void object_loaded( const object& obj ) override;
|
||||||
|
virtual void object_created( const object& obj ) override;
|
||||||
virtual void object_removed( const object& obj ) override;
|
virtual void object_removed( const object& obj ) override;
|
||||||
virtual void about_to_modify( const object& before ) override;
|
virtual void about_to_modify( const object& before ) override;
|
||||||
virtual void object_modified( const object& after ) override;
|
virtual void object_modified( const object& after ) override;
|
||||||
|
|
@ -77,7 +78,12 @@ class events_by_competitor_index : public secondary_index
|
||||||
map<competitor_id_type, set<persistent_event_id_type> > competitor_to_events;
|
map<competitor_id_type, set<persistent_event_id_type> > competitor_to_events;
|
||||||
};
|
};
|
||||||
|
|
||||||
void events_by_competitor_index::object_inserted( const object& obj )
|
void events_by_competitor_index::object_loaded( const object& obj )
|
||||||
|
{
|
||||||
|
object_created(obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
void events_by_competitor_index::object_created( const object& obj )
|
||||||
{
|
{
|
||||||
const persistent_event_object& event_obj = *boost::polymorphic_downcast<const persistent_event_object*>(&obj);
|
const persistent_event_object& event_obj = *boost::polymorphic_downcast<const persistent_event_object*>(&obj);
|
||||||
for (const competitor_id_type& competitor_id : event_obj.competitors)
|
for (const competitor_id_type& competitor_id : event_obj.competitors)
|
||||||
|
|
@ -97,7 +103,7 @@ void events_by_competitor_index::about_to_modify( const object& before )
|
||||||
}
|
}
|
||||||
void events_by_competitor_index::object_modified( const object& after )
|
void events_by_competitor_index::object_modified( const object& after )
|
||||||
{
|
{
|
||||||
object_inserted(after);
|
object_created(after);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,8 @@ class limit_order_group_index : public secondary_index
|
||||||
public:
|
public:
|
||||||
limit_order_group_index( const flat_set<uint16_t>& groups ) : _tracked_groups( groups ) {};
|
limit_order_group_index( const flat_set<uint16_t>& groups ) : _tracked_groups( groups ) {};
|
||||||
|
|
||||||
virtual void object_inserted( const object& obj ) override;
|
virtual void object_loaded( const object& obj ) override;
|
||||||
|
virtual void object_created( const object& obj ) override;
|
||||||
virtual void object_removed( const object& obj ) override;
|
virtual void object_removed( const object& obj ) override;
|
||||||
virtual void about_to_modify( const object& before ) override;
|
virtual void about_to_modify( const object& before ) override;
|
||||||
virtual void object_modified( const object& after ) override;
|
virtual void object_modified( const object& after ) override;
|
||||||
|
|
@ -76,7 +77,12 @@ class limit_order_group_index : public secondary_index
|
||||||
map< limit_order_group_key, limit_order_group_data > _og_data;
|
map< limit_order_group_key, limit_order_group_data > _og_data;
|
||||||
};
|
};
|
||||||
|
|
||||||
void limit_order_group_index::object_inserted( const object& objct )
|
void limit_order_group_index::object_loaded( const object& objct )
|
||||||
|
{
|
||||||
|
object_created(objct);
|
||||||
|
}
|
||||||
|
|
||||||
|
void limit_order_group_index::object_created( const object& objct )
|
||||||
{ try {
|
{ try {
|
||||||
const limit_order_object& o = static_cast<const limit_order_object&>( objct );
|
const limit_order_object& o = static_cast<const limit_order_object&>( objct );
|
||||||
|
|
||||||
|
|
@ -201,7 +207,7 @@ void limit_order_group_index::about_to_modify( const object& objct )
|
||||||
|
|
||||||
void limit_order_group_index::object_modified( const object& objct )
|
void limit_order_group_index::object_modified( const object& objct )
|
||||||
{ try {
|
{ try {
|
||||||
object_inserted( objct );
|
object_created( objct );
|
||||||
} FC_CAPTURE_AND_RETHROW( (objct) ); }
|
} FC_CAPTURE_AND_RETHROW( (objct) ); }
|
||||||
|
|
||||||
void limit_order_group_index::remove_order( const limit_order_object& o, bool remove_empty )
|
void limit_order_group_index::remove_order( const limit_order_object& o, bool remove_empty )
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue