SWC-DB
v0.5.12 C++ documentations
SWC-DB© (Super Wide Column Database) - High Performance Scalable Database (https://github.com/kashirin-alex/swc-db)
ColumnDelete.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
7
#include "
swcdb/manager/Protocol/Rgr/req/ColumnDelete.h
"
8
#include "
swcdb/db/Protocol/Rgr/params/ColumnDelete.h
"
9
10
namespace
SWC
{
namespace
Comm {
namespace
Protocol {
11
namespace
Rgr {
namespace
Req {
12
13
14
SWC_CAN_INLINE
15
ColumnDelete::ColumnDelete
(
const
Manager::Ranger::Ptr
& a_rgr,
16
const
DB::Schema::Ptr
& a_schema,
17
uint64_t a_req_id)
18
: client::ConnQueue::
ReqBase
(
19
Buffers
::make(
20
Params::
ColumnDelete
(a_schema->cid),
21
0,
22
COLUMN_DELETE
, 3600000)
23
),
24
rgr(a_rgr), schema(a_schema), req_id(a_req_id) {
25
}
26
27
void
ColumnDelete::handle
(
ConnHandlerPtr
,
const
Event::Ptr
& ev) {
28
if
(ev->response_code())
29
return
handle_no_conn
();
30
31
remove
();
32
}
33
34
void
ColumnDelete::handle_no_conn
() {
35
if
(
rgr
->state ==
DB::Types::MngrRangerState::ACK
) {
36
rgr
->failures.fetch_add(1);
37
request_again
();
38
}
else
{
39
remove
();
40
}
41
}
42
43
SWC_CAN_INLINE
44
void
ColumnDelete::remove
() {
45
Env::Mngr::mngd_columns
()->
remove
(
schema
,
rgr
->rgrid,
req_id
);
46
}
47
48
}}}}}
SWC::Comm::Protocol::Rgr::Req::ColumnDelete
Definition:
ColumnDelete.h:14
SWC::DB::Schema::Ptr
std::shared_ptr< Schema > Ptr
Definition:
Schema.h:185
ColumnDelete.h
SWC::Comm::Protocol::Rgr::Req::ColumnDelete::schema
DB::Schema::Ptr schema
Definition:
ColumnDelete.h:33
SWC::client::Query::ReqBase
Comm::client::ConnQueue::ReqBase ReqBase
Definition:
Profiling.h:21
SWC::Comm::Protocol::Rgr::Req::ColumnDelete::remove
void remove()
Definition:
ColumnDelete.cc:44
SWC::Comm::client::ConnQueueReqBase::request_again
void request_again()
Definition:
ClientConnQueue.cc:12
SWC::Comm::Protocol::Rgr::Req::ColumnDelete::ColumnDelete
ColumnDelete(const Manager::Ranger::Ptr &rgr, const DB::Schema::Ptr &schema, uint64_t req_id)
Definition:
ColumnDelete.cc:15
SWC::Comm::Protocol::Rgr::Req::ColumnDelete::handle_no_conn
void handle_no_conn() override
Definition:
ColumnDelete.cc:34
SWC::Manager::MngdColumns::remove
void remove(const DB::Schema::Ptr &schema, rgrid_t rgrid, uint64_t req_id)
Definition:
MngdColumns.cc:407
SWC::Comm::Protocol::Rgr::Req::ColumnDelete::req_id
uint64_t req_id
Definition:
ColumnDelete.h:34
SWC::DB::Types::MngrRangerState::ACK
const uint8_t ACK
Definition:
MngrRangerState.h:18
SWC_CAN_INLINE
#define SWC_CAN_INLINE
Definition:
Compat.h:102
ColumnDelete.h
SWC
The SWC-DB C++ namespace 'SWC'.
Definition:
main.cc:12
SWC::Env::Mngr::mngd_columns
static SWC_CAN_INLINE Manager::MngdColumns * mngd_columns() noexcept
Definition:
MngrEnv.h:74
SWC::Comm::Protocol::Rgr::COLUMN_DELETE
@ COLUMN_DELETE
Definition:
Commands.h:27
SWC::Comm::Protocol::Rgr::Req::ColumnDelete::handle
void handle(ConnHandlerPtr conn, const Event::Ptr &ev) override
Definition:
ColumnDelete.cc:27
SWC::Manager::Ranger::Ptr
std::shared_ptr< Ranger > Ptr
Definition:
Ranger.h:21
SWC::Comm::Buffers
Definition:
Buffers.h:20
SWC::Comm::ConnHandlerPtr
std::shared_ptr< ConnHandler > ConnHandlerPtr
Definition:
AppContext.h:17
SWC::Comm::Event::Ptr
std::shared_ptr< Event > Ptr
Definition:
Event.h:33
SWC::Comm::Protocol::Rgr::Req::ColumnDelete::rgr
Manager::Ranger::Ptr rgr
Definition:
ColumnDelete.h:32
lib
swcdb
manager
Protocol
Rgr
req
ColumnDelete.cc
Generated on Sat Jun 3 2023 18:00:09 for SWC-DB by
1.8.20