SWC-DB  v0.5.12 C++ documentations
SWC-DB© (Super Wide Column Database) - High Performance Scalable Database (https://github.com/kashirin-alex/swc-db)
SWC::client::Query::Update::Handlers::BaseUnorderedMap Class Reference

#include <swcdb/db/client/Query/Update/Handlers/BaseUnorderedMap.h>

+ Inheritance diagram for SWC::client::Query::Update::Handlers::BaseUnorderedMap:
+ Collaboration diagram for SWC::client::Query::Update::Handlers::BaseUnorderedMap:

Public Types

typedef std::shared_ptr< BaseUnorderedMapPtr
 
typedef std::unordered_map< cid_t, ColumnMutable::PtrMap
 
- Public Types inherited from SWC::client::Query::Update::Handlers::Base
typedef std::shared_ptr< BasePtr
 
typedef Core::Vector< Column * > Colms
 

Public Member Functions

SWC_CAN_INLINE BaseUnorderedMap (const Clients::Ptr &a_clients, Clients::Flag a_executor=Clients::DEFAULT) noexcept
 
virtual ~BaseUnorderedMap () noexcept
 
virtual bool requires_commit () noexcept override
 
virtual bool empty () noexcept override
 
virtual size_t size_bytes () noexcept override
 
virtual void next (Base::Colms &cols) noexcept override
 
virtual Base::Columnnext (cid_t cid) noexcept override
 
virtual void error (cid_t cid, int err) noexcept override
 
SWC_CAN_INLINE ColumnMutable::Ptrcreate (const DB::Schema::Ptr &schema)
 
ColumnMutable::Ptrcreate (const cid_t cid, DB::Types::KeySeq seq, uint32_t versions, uint32_t ttl_secs, DB::Types::Column type)
 
bool exists (const cid_t cid) noexcept
 
void add (const cid_t cid, const DB::Cells::Cell &cell, bool finalized=false)
 
ColumnMutable::Ptr get (const cid_t cid) noexcept
 
Base::Columnget_base_ptr (cid_t cid) noexcept
 
size_t size () noexcept
 
- Public Member Functions inherited from SWC::client::Query::Update::Handlers::Base
SWC_CAN_INLINE Base (const Clients::Ptr &a_clients, Clients::Flag a_executor=Clients::Flag::DEFAULT) noexcept
 
 Base (Base &&)=delete
 
 Base (const Base &)=delete
 
Baseoperator= (const Base &)=delete
 
Baseoperator= (Base &&)=delete
 
virtual bool valid () noexcept=0
 
virtual void response (int err=Error::OK)=0
 
virtual int error () noexcept
 
virtual void error (int err) noexcept
 
SWC_CAN_INLINE void add_resend_count (size_t count) noexcept
 
SWC_CAN_INLINE size_t get_resend_count (bool reset=true) noexcept
 
void commit ()
 
SWC_CAN_INLINE void commit (const cid_t cid)
 
void commit (Column *colp)
 

Private Attributes

Core::MutexSptd m_mutex
 

Additional Inherited Members

- Public Attributes inherited from SWC::client::Query::Update::Handlers::Base
Clients::Ptr clients
 
Profiling profile
 
Core::Atomic< int > state_error
 
Core::CompletionCounter< uint64_t > completion
 
Core::Atomic< uint32_t > timeout
 
Core::Atomic< uint32_t > timeout_ratio
 
Core::Atomic< uint32_t > buff_sz
 
Core::Atomic< uint8_t > buff_ahead
 
const Clients::Flag executor
 
- Protected Member Functions inherited from SWC::client::Query::Update::Handlers::Base
virtual void _execute (Column *colp)
 
virtual ~Base () noexcept
 

Detailed Description

Definition at line 18 of file BaseUnorderedMap.h.

Member Typedef Documentation

◆ Map

◆ Ptr

Constructor & Destructor Documentation

◆ BaseUnorderedMap()

SWC_CAN_INLINE SWC::client::Query::Update::Handlers::BaseUnorderedMap::BaseUnorderedMap ( const Clients::Ptr a_clients,
Clients::Flag  a_executor = Clients::DEFAULT 
)
inlinenoexcept

Definition at line 26 of file BaseUnorderedMap.h.

◆ ~BaseUnorderedMap()

virtual SWC::client::Query::Update::Handlers::BaseUnorderedMap::~BaseUnorderedMap ( )
inlinevirtualnoexcept

Definition at line 32 of file BaseUnorderedMap.h.

Member Function Documentation

◆ add()

void SWC::client::Query::Update::Handlers::BaseUnorderedMap::add ( const cid_t  cid,
const DB::Cells::Cell cell,
bool  finalized = false 
)

Definition at line 88 of file BaseUnorderedMap.cc.

References m_mutex, SWC_FMT_LU, and SWC_THROWF.

◆ create() [1/2]

ColumnMutable::Ptr & SWC::client::Query::Update::Handlers::BaseUnorderedMap::create ( const cid_t  cid,
DB::Types::KeySeq  seq,
uint32_t  versions,
uint32_t  ttl_secs,
DB::Types::Column  type 
)

Definition at line 71 of file BaseUnorderedMap.cc.

References m_mutex.

◆ create() [2/2]

SWC_CAN_INLINE ColumnMutable::Ptr& SWC::client::Query::Update::Handlers::BaseUnorderedMap::create ( const DB::Schema::Ptr schema)
inline

Definition at line 49 of file BaseUnorderedMap.h.

◆ empty()

bool SWC::client::Query::Update::Handlers::BaseUnorderedMap::empty ( )
overridevirtualnoexcept

Implements SWC::client::Query::Update::Handlers::Base.

Definition at line 23 of file BaseUnorderedMap.cc.

References m_mutex.

Referenced by SWC::client::Query::Update::Handlers::Common::response().

+ Here is the caller graph for this function:

◆ error()

void SWC::client::Query::Update::Handlers::BaseUnorderedMap::error ( cid_t  cid,
int  err 
)
overridevirtualnoexcept

Implements SWC::client::Query::Update::Handlers::Base.

Definition at line 64 of file BaseUnorderedMap.cc.

◆ exists()

bool SWC::client::Query::Update::Handlers::BaseUnorderedMap::exists ( const cid_t  cid)
noexcept

Definition at line 83 of file BaseUnorderedMap.cc.

◆ get()

ColumnMutable::Ptr SWC::client::Query::Update::Handlers::BaseUnorderedMap::get ( const cid_t  cid)
noexcept

Definition at line 102 of file BaseUnorderedMap.cc.

◆ get_base_ptr()

Base::Column * SWC::client::Query::Update::Handlers::BaseUnorderedMap::get_base_ptr ( cid_t  cid)
noexcept

Definition at line 108 of file BaseUnorderedMap.cc.

◆ next() [1/2]

void SWC::client::Query::Update::Handlers::BaseUnorderedMap::next ( Base::Colms cols)
overridevirtualnoexcept

Implements SWC::client::Query::Update::Handlers::Base.

Definition at line 47 of file BaseUnorderedMap.cc.

References size.

◆ next() [2/2]

Base::Column * SWC::client::Query::Update::Handlers::BaseUnorderedMap::next ( cid_t  cid)
overridevirtualnoexcept

Implements SWC::client::Query::Update::Handlers::Base.

Definition at line 57 of file BaseUnorderedMap.cc.

◆ requires_commit()

bool SWC::client::Query::Update::Handlers::BaseUnorderedMap::requires_commit ( )
overridevirtualnoexcept

Implements SWC::client::Query::Update::Handlers::Base.

Reimplemented in SWC::client::Query::Update::Handlers::Common.

Definition at line 15 of file BaseUnorderedMap.cc.

References m_mutex.

Referenced by SWC::client::Query::Update::Handlers::Common::requires_commit().

+ Here is the caller graph for this function:

◆ size()

size_t SWC::client::Query::Update::Handlers::BaseUnorderedMap::size ( )
noexcept

Definition at line 31 of file BaseUnorderedMap.cc.

References m_mutex.

◆ size_bytes()

size_t SWC::client::Query::Update::Handlers::BaseUnorderedMap::size_bytes ( )
overridevirtualnoexcept

Implements SWC::client::Query::Update::Handlers::Base.

Definition at line 39 of file BaseUnorderedMap.cc.

References m_mutex.

Referenced by SWC::client::Query::Update::Handlers::Common::commit_if_need(), and SWC::client::Query::Update::Handlers::Common::wait_ahead_buffers().

+ Here is the caller graph for this function:

Member Data Documentation

◆ m_mutex

Core::MutexSptd SWC::client::Query::Update::Handlers::BaseUnorderedMap::m_mutex
private

Definition at line 73 of file BaseUnorderedMap.h.

Referenced by add(), create(), empty(), requires_commit(), size(), and size_bytes().


The documentation for this class was generated from the following files: