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::ColumnMutable Class Reference

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

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

Public Types

typedef std::shared_ptr< ColumnMutablePtr
 
- Public Types inherited from SWC::client::Query::Update::Handlers::Base::Column
typedef std::shared_ptr< ColumnPtr
 

Public Member Functions

SWC_CAN_INLINE ColumnMutable (const cid_t a_cid, DB::Types::KeySeq seq, uint32_t versions, uint32_t ttl_secs, DB::Types::Column type)
 
SWC_CAN_INLINE ColumnMutable (const cid_t a_cid, DB::Types::KeySeq seq, uint32_t versions, uint32_t ttl_secs, DB::Types::Column type, const StaticBuffer &buffer)
 
virtual ~ColumnMutable () noexcept
 
virtual void print (std::ostream &out) override
 
virtual cid_t get_cid () const noexcept override
 
virtual DB::Types::KeySeq get_sequence () const noexcept override
 
virtual bool empty () noexcept override
 
virtual size_t size () noexcept override
 
virtual size_t size_bytes () noexcept override
 
virtual DB::Cell::Key::Ptr get_first_key () override
 
virtual DB::Cell::Key::Ptr get_key_next (const DB::Cell::Key &eval_key, bool start_key=false) override
 
virtual size_t add (const DynamicBuffer &cells, const DB::Cell::Key &upto_key, const DB::Cell::Key &from_key, uint32_t skip, bool malformed) override
 
virtual size_t add (const DynamicBuffer &cells, bool finalized=false) override
 
virtual void add (const DB::Cells::Cell &cell, bool finalized=false) override
 
virtual bool get_buff (const DB::Cell::Key &key_start, const DB::Cell::Key &key_end, size_t buff_sz, bool &more, DynamicBuffer &cells_buff) override
 
virtual bool get_buff (size_t buff_sz, bool &more, DynamicBuffer &cells_buff) override
 
virtual void error (int err) noexcept override
 
virtual int error () noexcept override
 
- Public Member Functions inherited from SWC::client::Query::Update::Handlers::Base::Column
SWC_CAN_INLINE Column () noexcept
 
 Column (Column &&)=delete
 
 Column (const Column &)=delete
 
Columnoperator= (const Column &)=delete
 
Columnoperator= (Column &&)=delete
 
SWC_CAN_INLINE DynamicBuffer::Ptr get_buff (const DB::Cell::Key &key_start, const DB::Cell::Key &key_end, size_t buff_sz, bool &more)
 
SWC_CAN_INLINE DynamicBuffer::Ptr get_buff (size_t buff_sz, bool &more)
 

Public Attributes

Core::Atomic< int > state_error
 
cid_t cid
 

Private Attributes

Core::MutexSptd m_mutex
 
DB::Cells::Mutable m_cells
 

Additional Inherited Members

- Protected Member Functions inherited from SWC::client::Query::Update::Handlers::Base::Column
virtual ~Column () noexcept
 

Detailed Description

Definition at line 20 of file BaseColumnMutable.h.

Member Typedef Documentation

◆ Ptr

Constructor & Destructor Documentation

◆ ColumnMutable() [1/2]

SWC_CAN_INLINE SWC::client::Query::Update::Handlers::ColumnMutable::ColumnMutable ( const cid_t  a_cid,
DB::Types::KeySeq  seq,
uint32_t  versions,
uint32_t  ttl_secs,
DB::Types::Column  type 
)
inline

Definition at line 28 of file BaseColumnMutable.h.

◆ ColumnMutable() [2/2]

SWC_CAN_INLINE SWC::client::Query::Update::Handlers::ColumnMutable::ColumnMutable ( const cid_t  a_cid,
DB::Types::KeySeq  seq,
uint32_t  versions,
uint32_t  ttl_secs,
DB::Types::Column  type,
const StaticBuffer buffer 
)
inline

Definition at line 38 of file BaseColumnMutable.h.

◆ ~ColumnMutable()

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

Definition at line 48 of file BaseColumnMutable.h.

Member Function Documentation

◆ add() [1/3]

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

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

Definition at line 78 of file BaseColumnMutable.cc.

References SWC::DB::Cells::Mutable::add_raw(), m_cells, and m_mutex.

+ Here is the call graph for this function:

◆ add() [2/3]

size_t SWC::client::Query::Update::Handlers::ColumnMutable::add ( const DynamicBuffer cells,
bool  finalized = false 
)
overridevirtual

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

Definition at line 71 of file BaseColumnMutable.cc.

References SWC::DB::Cells::Mutable::add_raw(), m_cells, m_mutex, and SWC::DB::Cells::Mutable::size().

+ Here is the call graph for this function:

◆ add() [3/3]

size_t SWC::client::Query::Update::Handlers::ColumnMutable::add ( const DynamicBuffer cells,
const DB::Cell::Key upto_key,
const DB::Cell::Key from_key,
uint32_t  skip,
bool  malformed 
)
overridevirtual

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

Definition at line 60 of file BaseColumnMutable.cc.

References SWC::DB::Cells::Mutable::add_raw(), m_cells, m_mutex, and SWC::DB::Cells::Mutable::size().

+ Here is the call graph for this function:

◆ empty()

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

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

Definition at line 25 of file BaseColumnMutable.cc.

References SWC::DB::Cells::Mutable::empty(), m_cells, and m_mutex.

Referenced by SWC::client::Query::Update::Handlers::BaseSingleColumn::empty(), SWC::client::Query::Update::Handlers::Metric::Reporting::report(), and SWC::client::Query::Update::Handlers::BaseSingleColumn::requires_commit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ error() [1/2]

virtual int SWC::client::Query::Update::Handlers::ColumnMutable::error ( )
inlineoverridevirtualnoexcept

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

Definition at line 95 of file BaseColumnMutable.h.

References state_error.

◆ error() [2/2]

virtual void SWC::client::Query::Update::Handlers::ColumnMutable::error ( int  err)
inlineoverridevirtualnoexcept

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

Definition at line 90 of file BaseColumnMutable.h.

References SWC::Core::AtomicBase< T, OrderT >::compare_exchange_weak(), SWC::Error::OK, and state_error.

Referenced by SWC::client::Query::Update::Handlers::BaseSingleColumn::error(), SWC::client::Query::Update::Handlers::BaseSingleColumn::requires_commit(), and SWC::client::Query::Update::Handlers::Metric::Reporting::response().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ get_buff() [1/2]

bool SWC::client::Query::Update::Handlers::ColumnMutable::get_buff ( const DB::Cell::Key key_start,
const DB::Cell::Key key_end,
size_t  buff_sz,
bool &  more,
DynamicBuffer cells_buff 
)
overridevirtual

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

Definition at line 83 of file BaseColumnMutable.cc.

References SWC::Core::BufferDyn< BufferT >::fill(), m_cells, m_mutex, and SWC::DB::Cells::Mutable::write_and_free().

+ Here is the call graph for this function:

◆ get_buff() [2/2]

bool SWC::client::Query::Update::Handlers::ColumnMutable::get_buff ( size_t  buff_sz,
bool &  more,
DynamicBuffer cells_buff 
)
overridevirtual

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

Definition at line 95 of file BaseColumnMutable.cc.

References SWC::Core::BufferDyn< BufferT >::fill(), m_cells, m_mutex, and SWC::DB::Cells::Mutable::write_and_free().

+ Here is the call graph for this function:

◆ get_cid()

virtual cid_t SWC::client::Query::Update::Handlers::ColumnMutable::get_cid ( ) const
inlineoverridevirtualnoexcept

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

Definition at line 52 of file BaseColumnMutable.h.

References cid.

◆ get_first_key()

DB::Cell::Key::Ptr SWC::client::Query::Update::Handlers::ColumnMutable::get_first_key ( )
overridevirtual

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

Definition at line 40 of file BaseColumnMutable.cc.

References SWC::DB::Cells::Mutable::get(), m_cells, m_mutex, and SWC::DB::Cells::Mutable::size().

+ Here is the call graph for this function:

◆ get_key_next()

DB::Cell::Key::Ptr SWC::client::Query::Update::Handlers::ColumnMutable::get_key_next ( const DB::Cell::Key eval_key,
bool  start_key = false 
)
overridevirtual

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

Definition at line 49 of file BaseColumnMutable.cc.

References SWC::DB::Cell::Key::empty(), SWC::Condition::GE, SWC::DB::Cells::Mutable::get(), SWC::Condition::GT, m_cells, and m_mutex.

+ Here is the call graph for this function:

◆ get_sequence()

virtual DB::Types::KeySeq SWC::client::Query::Update::Handlers::ColumnMutable::get_sequence ( ) const
inlineoverridevirtualnoexcept

◆ print()

void SWC::client::Query::Update::Handlers::ColumnMutable::print ( std::ostream &  out)
overridevirtual

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

Definition at line 16 of file BaseColumnMutable.cc.

References cid, m_cells, m_mutex, and SWC::DB::Cells::Mutable::print().

+ Here is the call graph for this function:

◆ size()

size_t SWC::client::Query::Update::Handlers::ColumnMutable::size ( )
overridevirtualnoexcept

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

Definition at line 30 of file BaseColumnMutable.cc.

References m_cells, m_mutex, and SWC::DB::Cells::Mutable::size().

Referenced by SWC::client::Query::Update::Handlers::BaseSingleColumn::size().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ size_bytes()

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

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

Definition at line 35 of file BaseColumnMutable.cc.

References m_cells, m_mutex, and SWC::DB::Cells::Mutable::size_bytes().

Referenced by SWC::client::Query::Update::Handlers::BaseSingleColumn::size_bytes().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ cid

◆ m_cells

DB::Cells::Mutable SWC::client::Query::Update::Handlers::ColumnMutable::m_cells
private

◆ m_mutex

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

◆ state_error

Core::Atomic<int> SWC::client::Query::Update::Handlers::ColumnMutable::state_error

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