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::Ranger::Callback::RangeQuerySelect Class Reference

#include <swcdb/ranger/callbacks/RangeQuerySelect.h>

+ Inheritance diagram for SWC::Ranger::Callback::RangeQuerySelect:
+ Collaboration diagram for SWC::Ranger::Callback::RangeQuerySelect:

Public Types

typedef std::shared_ptr< RangeQuerySelectPtr
 
- Public Types inherited from SWC::Ranger::ReqScan
enum  Type : uint8_t {
  QUERY,
  BLK_PRELOAD,
  COMPACTION
}
 
typedef std::shared_ptr< ReqScanPtr
 
- Public Types inherited from SWC::DB::Cells::ReqScan
typedef std::shared_ptr< ReqScanPtr
 
- Public Types inherited from SWC::Comm::ResponseCallback
typedef std::shared_ptr< ResponseCallbackPtr
 

Public Member Functions

SWC_CAN_INLINE RangeQuerySelect (const Comm::ConnHandlerPtr &conn, const Comm::Event::Ptr &ev, DB::Specs::Interval &&req_spec, const RangePtr &a_range)
 
 RangeQuerySelect (RangeQuerySelect &&)=delete
 
 RangeQuerySelect (const RangeQuerySelect &)=delete
 
RangeQuerySelectoperator= (RangeQuerySelect &&)=delete
 
RangeQuerySelectoperator= (const RangeQuerySelect &)=delete
 
virtual ~RangeQuerySelect () noexcept
 
SWC_CAN_INLINE void ensure_size ()
 
bool reached_limits () override
 
bool add_cell_and_more (const DB::Cells::Cell &cell) override
 
void response (int &err) override
 
void print (std::ostream &out) const override
 
- Public Member Functions inherited from SWC::Ranger::ReqScan
SWC_CAN_INLINE ReqScan (Type a_type=Type::QUERY, bool a_release_block=false, uint8_t a_readahead=1, uint32_t a_blk_size=0) noexcept
 
SWC_CAN_INLINE ReqScan (const Comm::ConnHandlerPtr &conn, const Comm::Event::Ptr &ev, const DB::Cell::Key &range_begin, const DB::Cell::Key &range_end, uint32_t a_blk_size)
 
SWC_CAN_INLINE ReqScan (const Comm::ConnHandlerPtr &conn, const Comm::Event::Ptr &ev, DB::Specs::Interval &&a_spec, uint32_t a_blk_size)
 
SWC_CAN_INLINE ReqScan (ReqScan &&)=delete
 
 ReqScan (const ReqScan &)=delete
 
ReqScanoperator= (const ReqScan &)=delete
 
ReqScanoperator= (ReqScan &&)=delete
 
virtual ~ReqScan () noexcept
 
SWC_CAN_INLINE Ptr get_req_scan () noexcept
 
virtual bool with_block () const noexcept
 
- Public Member Functions inherited from SWC::DB::Cells::ReqScan
SWC_CAN_INLINE ReqScan () noexcept
 
SWC_CAN_INLINE ReqScan (const DB::Specs::Interval &a_spec)
 
SWC_CAN_INLINE ReqScan (const Comm::ConnHandlerPtr &conn, const Comm::Event::Ptr &ev, DB::Specs::Interval &&a_spec)
 
SWC_CAN_INLINE ReqScan (const Comm::ConnHandlerPtr &conn, const Comm::Event::Ptr &ev, const DB::Specs::Interval &a_spec)
 
SWC_CAN_INLINE ReqScan (const Comm::ConnHandlerPtr &conn, const Comm::Event::Ptr &ev, const DB::Cell::Key &range_begin, const DB::Cell::Key &range_end)
 
 ReqScan (const ReqScan &)=delete
 
 ReqScan (const ReqScan &&)=delete
 
ReqScanoperator= (const ReqScan &)=delete
 
SWC_CAN_INLINE Ptr get_req_scan () noexcept
 
SWC_CAN_INLINE bool offset_adjusted () noexcept
 
virtual bool selector (const Types::KeySeq key_seq, const Cell &cell, bool &stop)
 
virtual bool has_update () const noexcept
 
virtual void update (DB::Cells::Mutable &)
 
- Public Member Functions inherited from SWC::Comm::ResponseCallback
 ResponseCallback (const ConnHandlerPtr &conn, const Event::Ptr &ev)
 
virtual ~ResponseCallback () noexcept
 
virtual void run ()
 
virtual bool expired (int64_t within=0) const noexcept
 
virtual void response_ok ()
 
virtual void send_error (int err, const std::string &msg)
 

Public Attributes

RangePtr range
 
DynamicBuffer cells
 
- Public Attributes inherited from SWC::Ranger::ReqScan
Type type
 
bool release_block
 
uint8_t readahead
 
const uint32_t blk_size
 
void * block
 
- Public Attributes inherited from SWC::DB::Cells::ReqScan
DB::Specs::Interval spec
 
bool only_keys
 
uint64_t offset
 
Profile profile
 

Additional Inherited Members

- Protected Attributes inherited from SWC::Comm::ResponseCallback
ConnHandlerPtr m_conn
 
Event::Ptr m_ev
 

Detailed Description

Definition at line 14 of file RangeQuerySelect.h.

Member Typedef Documentation

◆ Ptr

Definition at line 17 of file RangeQuerySelect.h.

Constructor & Destructor Documentation

◆ RangeQuerySelect() [1/3]

SWC_CAN_INLINE SWC::Ranger::Callback::RangeQuerySelect::RangeQuerySelect ( const Comm::ConnHandlerPtr conn,
const Comm::Event::Ptr ev,
DB::Specs::Interval &&  req_spec,
const RangePtr a_range 
)
inline

options not-useful for block-locator or a mid-stop if spec.range_begin < range : spec.range_begin.free() if spec.range_end > range : spec.range_end.free() SWC_LOG_OUT(LOG_INFO, spec.print(SWC_LOG_OSTREAM); );

Definition at line 20 of file RangeQuerySelect.h.

References SWC::DB::Specs::Interval::apply_possible_range_pure(), SWC::Ranger::ReqScan::blk_size, SWC::DB::Specs::Values::col_type, SWC::Core::Vector< T, SizeT, GROW_SZ >::empty(), SWC::DB::Specs::Interval::flags, SWC::DB::Specs::Flags::max_buffer, SWC::DB::Specs::Flags::max_versions, range, SWC::DB::Cells::ReqScan::spec, and SWC::DB::Specs::Interval::values.

+ Here is the call graph for this function:

◆ RangeQuerySelect() [2/3]

SWC::Ranger::Callback::RangeQuerySelect::RangeQuerySelect ( RangeQuerySelect &&  )
delete

◆ RangeQuerySelect() [3/3]

SWC::Ranger::Callback::RangeQuerySelect::RangeQuerySelect ( const RangeQuerySelect )
delete

◆ ~RangeQuerySelect()

virtual SWC::Ranger::Callback::RangeQuerySelect::~RangeQuerySelect ( )
inlinevirtualnoexcept

Definition at line 50 of file RangeQuerySelect.h.

Member Function Documentation

◆ add_cell_and_more()

bool SWC::Ranger::Callback::RangeQuerySelect::add_cell_and_more ( const DB::Cells::Cell cell)
inlineoverridevirtual

Implements SWC::DB::Cells::ReqScan.

Definition at line 77 of file RangeQuerySelect.h.

References SWC::DB::Cells::ReqScan::Profile::add_cell(), cells, ensure_size(), SWC::Core::BufferDyn< BufferT >::fill(), SWC::DB::Cells::ReqScan::only_keys, SWC::DB::Cells::ReqScan::profile, reached_limits(), and SWC::DB::Cells::Cell::write().

+ Here is the call graph for this function:

◆ ensure_size()

SWC_CAN_INLINE void SWC::Ranger::Callback::RangeQuerySelect::ensure_size ( )
inline

Definition at line 53 of file RangeQuerySelect.h.

References cells, SWC::DB::Cells::ReqScan::Profile::cells_count, SWC::Core::BufferDyn< BufferT >::ensure(), SWC::Core::BufferDyn< BufferT >::fill(), SWC::DB::Specs::Interval::flags, SWC::DB::Specs::Flags::max_buffer, SWC::DB::Cells::ReqScan::profile, SWC::Core::Buffer< T >::size, and SWC::DB::Cells::ReqScan::spec.

Referenced by add_cell_and_more().

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

◆ operator=() [1/2]

RangeQuerySelect& SWC::Ranger::Callback::RangeQuerySelect::operator= ( const RangeQuerySelect )
delete

◆ operator=() [2/2]

RangeQuerySelect& SWC::Ranger::Callback::RangeQuerySelect::operator= ( RangeQuerySelect &&  )
delete

◆ print()

void SWC::Ranger::Callback::RangeQuerySelect::print ( std::ostream &  out) const
inlineoverridevirtual

Reimplemented from SWC::DB::Cells::ReqScan.

Definition at line 132 of file RangeQuerySelect.h.

References SWC::DB::Cells::ReqScan::print(), SWC::DB::Cells::ReqScan::Profile::print(), and SWC::DB::Cells::ReqScan::profile.

+ Here is the call graph for this function:

◆ reached_limits()

bool SWC::Ranger::Callback::RangeQuerySelect::reached_limits ( )
inlineoverridevirtual

Implements SWC::DB::Cells::ReqScan.

Definition at line 70 of file RangeQuerySelect.h.

References SWC::DB::Cells::ReqScan::Profile::cells_bytes, SWC::DB::Cells::ReqScan::Profile::cells_count, SWC::DB::Specs::Interval::flags, SWC::DB::Specs::Flags::limit, SWC::DB::Specs::Flags::max_buffer, SWC::DB::Cells::ReqScan::profile, and SWC::DB::Cells::ReqScan::spec.

Referenced by add_cell_and_more(), and response().

+ Here is the caller graph for this function:

◆ response()

Member Data Documentation

◆ cells

◆ range


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