Make ordered_unique out of ordered_non_unique indices
This commit is contained in:
parent
c9dd3aea66
commit
9946eab684
3 changed files with 55 additions and 8 deletions
|
|
@ -247,8 +247,20 @@ typedef multi_index_container<
|
|||
betting_market_group_object,
|
||||
indexed_by<
|
||||
ordered_unique< tag<by_id>, member< object, object_id_type, &object::id > >,
|
||||
ordered_non_unique< tag<by_event_id>, member<betting_market_group_object, event_id_type, &betting_market_group_object::event_id> >,
|
||||
ordered_non_unique< tag<by_settling_time>, member<betting_market_group_object, fc::optional<fc::time_point_sec>, &betting_market_group_object::settling_time> >
|
||||
ordered_unique< tag<by_event_id>,
|
||||
composite_key<
|
||||
betting_market_group_object,
|
||||
member<betting_market_group_object, event_id_type, &betting_market_group_object::event_id>,
|
||||
member< object, object_id_type, &object::id >
|
||||
>
|
||||
>,
|
||||
ordered_unique< tag<by_settling_time>,
|
||||
composite_key<
|
||||
betting_market_group_object,
|
||||
member<betting_market_group_object, fc::optional<fc::time_point_sec>, &betting_market_group_object::settling_time>,
|
||||
member< object, object_id_type, &object::id >
|
||||
>
|
||||
>
|
||||
> > betting_market_group_object_multi_index_type;
|
||||
typedef generic_index<betting_market_group_object, betting_market_group_object_multi_index_type> betting_market_group_object_index;
|
||||
|
||||
|
|
@ -256,7 +268,13 @@ typedef multi_index_container<
|
|||
betting_market_object,
|
||||
indexed_by<
|
||||
ordered_unique< tag<by_id>, member< object, object_id_type, &object::id > >,
|
||||
ordered_non_unique< tag<by_betting_market_group_id>, member<betting_market_object, betting_market_group_id_type, &betting_market_object::group_id> >
|
||||
ordered_unique< tag<by_betting_market_group_id>,
|
||||
composite_key<
|
||||
betting_market_object,
|
||||
member<betting_market_object, betting_market_group_id_type, &betting_market_object::group_id>,
|
||||
member< object, object_id_type, &object::id >
|
||||
>
|
||||
>
|
||||
> > betting_market_object_multi_index_type;
|
||||
|
||||
typedef generic_index<betting_market_object, betting_market_object_multi_index_type> betting_market_object_index;
|
||||
|
|
@ -593,7 +611,13 @@ typedef multi_index_container<
|
|||
indexed_by<
|
||||
ordered_unique< tag<by_id>, member< object, object_id_type, &object::id > >,
|
||||
ordered_unique< tag<by_odds>, identity<bet_object>, compare_bet_by_odds >,
|
||||
ordered_non_unique< tag<by_betting_market_id>, member<bet_object, betting_market_id_type, &bet_object::betting_market_id> >,
|
||||
ordered_unique< tag<by_betting_market_id>,
|
||||
composite_key<
|
||||
bet_object,
|
||||
member<bet_object, betting_market_id_type, &bet_object::betting_market_id>,
|
||||
member< object, object_id_type, &object::id >
|
||||
>
|
||||
>,
|
||||
ordered_unique< tag<by_bettor_and_odds>, identity<bet_object>, compare_bet_by_bettor_then_odds > > > bet_object_multi_index_type;
|
||||
typedef generic_index<bet_object, bet_object_multi_index_type> bet_object_index;
|
||||
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@
|
|||
#include <graphene/chain/protocol/types.hpp>
|
||||
#include <graphene/db/object.hpp>
|
||||
#include <graphene/db/generic_index.hpp>
|
||||
#include <boost/multi_index/composite_key.hpp>
|
||||
|
||||
namespace graphene { namespace chain {
|
||||
|
||||
|
|
@ -49,8 +50,15 @@ typedef multi_index_container<
|
|||
event_group_object,
|
||||
indexed_by<
|
||||
ordered_unique< tag<by_id>, member< object, object_id_type, &object::id > >,
|
||||
ordered_non_unique< tag<by_sport_id>, member< event_group_object, sport_id_type, &event_group_object::sport_id > > >
|
||||
> event_group_object_multi_index_type;
|
||||
ordered_unique< tag<by_sport_id>,
|
||||
composite_key<
|
||||
event_group_object,
|
||||
member< event_group_object, sport_id_type, &event_group_object::sport_id >,
|
||||
member< object, object_id_type, &object::id >
|
||||
>
|
||||
>
|
||||
>
|
||||
> event_group_object_multi_index_type;
|
||||
|
||||
typedef generic_index<event_group_object, event_group_object_multi_index_type> event_group_object_index;
|
||||
} } // graphene::chain
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@
|
|||
#include <graphene/db/object.hpp>
|
||||
#include <graphene/db/generic_index.hpp>
|
||||
#include <graphene/chain/protocol/event.hpp>
|
||||
#include <boost/multi_index/composite_key.hpp>
|
||||
|
||||
namespace graphene { namespace chain {
|
||||
class event_object;
|
||||
|
|
@ -100,8 +101,22 @@ typedef multi_index_container<
|
|||
event_object,
|
||||
indexed_by<
|
||||
ordered_unique< tag<by_id>, member< object, object_id_type, &object::id > >,
|
||||
ordered_non_unique< tag<by_event_group_id>, member< event_object, event_group_id_type, &event_object::event_group_id > >,
|
||||
ordered_non_unique< tag<by_event_status>, const_mem_fun< event_object, event_status, &event_object::get_status > > > > event_object_multi_index_type;
|
||||
ordered_unique< tag<by_event_group_id>,
|
||||
composite_key<
|
||||
event_object,
|
||||
member< event_object, event_group_id_type, &event_object::event_group_id >,
|
||||
member< object, object_id_type, &object::id >
|
||||
>
|
||||
>,
|
||||
ordered_unique< tag<by_event_status>,
|
||||
composite_key<
|
||||
event_object,
|
||||
const_mem_fun< event_object, event_status, &event_object::get_status >,
|
||||
member< object, object_id_type, &object::id >
|
||||
>
|
||||
>
|
||||
>
|
||||
> event_object_multi_index_type;
|
||||
|
||||
typedef generic_index<event_object, event_object_multi_index_type> event_object_index;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue