diff --git a/libraries/chain/db_init.cpp b/libraries/chain/db_init.cpp index 7dc986a4..538808dd 100644 --- a/libraries/chain/db_init.cpp +++ b/libraries/chain/db_init.cpp @@ -263,7 +263,10 @@ void database::initialize_indexes() acnt_index->add_secondary_index(); add_index< primary_index >(); // 256 members per chunk - add_index< primary_index >(); // 256 sons per chunk + + // Note: Do not create secondary_index if you will need to create an + // operation to remove associated object. + add_index< primary_index >(); add_index< primary_index >(); // 1024 witnesses per chunk add_index< primary_index >(); add_index< primary_index >(); diff --git a/libraries/db/include/graphene/db/index.hpp b/libraries/db/include/graphene/db/index.hpp index e8d4fa11..7554955e 100644 --- a/libraries/db/include/graphene/db/index.hpp +++ b/libraries/db/include/graphene/db/index.hpp @@ -402,14 +402,17 @@ namespace graphene { namespace db { DerivedIndex::remove(obj); } - virtual const object& insert( object&& obj )override - { - const auto& res = DerivedIndex::insert(std::move(obj)); - for( const auto& item : _sindex ) - item->object_inserted( res ); - on_add(res); - return res; - } + // Note: Implementing insert function here will break the + // bookie_plugin functionality as it was implemented assuming no undo required. + // virtual const object& insert( object&& obj )override + // { + // const auto& res = DerivedIndex::insert(std::move(obj)); + // if (object_type_id() != graphene::) + // for( const auto& item : _sindex ) + // item->object_inserted( res ); + // on_add(res); + // return res; + // } virtual void modify( const object& obj, const std::function& m )override {