SWC-DB  v0.5.12 C++ documentations
SWC-DB© (Super Wide Column Database) - High Performance Scalable Database (https://github.com/kashirin-alex/swc-db)
BaseMeta.cc
Go to the documentation of this file.
1 /*
2  * SWC-DB© Copyright since 2019 Alex Kashirin <kashirin.alex@gmail.com>
3  * License details at <https://github.com/kashirin-alex/swc-db/#license>
4  */
5 
6 
8 
9 
10 namespace SWC { namespace Ranger { namespace Query { namespace Update {
11 
12 
15  : client::Query::Update::Handlers::BaseSingleColumn(
16  Env::Clients::get(),
17  a_range->cfg->meta_cid, a_range->cfg->key_seq, 1, 0,
18  DB::Types::Column::SERIAL
19  ),
20  range(a_range) {
21 }
22 
23 bool BaseMeta::valid() noexcept {
24  if(range->state_unloading()) {
26  return false;
27  }
28  return true;
29 }
30 
31 bool BaseMeta::is_last_rsp(int err) {
32  if(!completion.is_last())
33  return false;
34 
35  if(!err && requires_commit()) {
36  commit(&column);
37  return false;
38  }
39 
40  if(err)
41  error(err);
42  else if(!empty())
44 
45  profile.finished();
46  return true;
47 }
48 
49 
50 }}}}
SWC::Ranger::Query::Update::BaseMeta::valid
virtual bool valid() noexcept override
Definition: BaseMeta.cc:23
SWC::Error::SERVER_SHUTTING_DOWN
@ SERVER_SHUTTING_DOWN
Definition: Error.h:84
SWC::client::Query::Update::Handlers::BaseSingleColumn::column
ColumnMutable column
Definition: BaseSingleColumn.h:24
SWC::client::Query::Update::Handlers::BaseSingleColumn::empty
virtual bool empty() noexcept override
Definition: BaseSingleColumn.h:53
BaseMeta.h
SWC::client::Query::Update::Handlers::Base::commit
void commit()
Definition: Base.h:179
SWC::Ranger::Query::Update::BaseMeta::is_last_rsp
bool is_last_rsp(int err)
Definition: BaseMeta.cc:31
SWC::Ranger::RangePtr
std::shared_ptr< Range > RangePtr
Definition: Columns.h:15
SWC_CAN_INLINE
#define SWC_CAN_INLINE
Definition: Compat.h:102
SWC
The SWC-DB C++ namespace 'SWC'.
Definition: main.cc:12
SWC::client::Query::Update::Handlers::Base::completion
Core::CompletionCounter< uint64_t > completion
Definition: Base.h:113
SWC::client::Query::Update::Handlers::Base::Column
Definition: Base.h:30
SWC::client::Query::Profiling::finished
SWC_CAN_INLINE void finished() noexcept
Definition: Profiling.h:127
SWC::Error::CLIENT_DATA_REMAINED
@ CLIENT_DATA_REMAINED
Definition: Error.h:125
SWC::client::Query::Update::Handlers::Base::error
virtual int error() noexcept
Definition: Base.h:159
SWC::Core::CompletionCounter::is_last
constexpr SWC_CAN_INLINE bool is_last() noexcept
Definition: CompletionCounter.h:37
SWC::client::Query::Update::Handlers::Base::profile
Profiling profile
Definition: Base.h:111
SWC::Ranger::Query::Update::BaseMeta::range
RangePtr range
Definition: BaseMeta.h:31
SWC::Ranger::Query::Update::BaseMeta::BaseMeta
BaseMeta(const RangePtr &range)
Definition: BaseMeta.cc:14
SWC::client::Query::Update::Handlers::BaseSingleColumn::requires_commit
virtual bool requires_commit() noexcept override
Definition: BaseSingleColumn.h:49