SWC-DB  v0.5.12 C++ documentations
SWC-DB© (Super Wide Column Database) - High Performance Scalable Database (https://github.com/kashirin-alex/swc-db)
ColumnMng.h
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 #ifndef swcdb_db_protocol_mngr_params_ColumnMng_h
7 #define swcdb_db_protocol_mngr_params_ColumnMng_h
8 
9 
12 
13 
14 namespace SWC { namespace Comm { namespace Protocol {
15 namespace Mngr { namespace Params {
16 
17 
18 class ColumnMng : public Serializable {
19  public:
20 
21  enum Function : uint8_t { // corelation-sequence required
23 
26 
27  CREATE = 3,
29 
30  REMOVE = 5,
32 
33  MODIFY = 7,
35 
37  };
38 
40  ColumnMng() noexcept : function(), schema() { }
41 
43  ColumnMng(Function a_function, const DB::Schema::Ptr& a_schema) noexcept
44  : function(a_function), schema(a_schema) {
45  }
46 
47  ~ColumnMng() noexcept { }
48 
49  Function function;
51 
52  private:
53 
54  size_t SWC_PURE_FUNC internal_encoded_length() const override;
55 
56  void internal_encode(uint8_t** bufp) const override;
57 
58  void internal_decode(const uint8_t** bufp, size_t* remainp) override;
59 
60  };
61 
62 
63 }}}}}
64 
65 
66 #ifdef SWC_IMPL_SOURCE
68 #endif
69 
70 #endif // swcdb_db_protocol_mngr_params_ColumnMng_h
Schema.h
SWC::DB::Schema::Ptr
std::shared_ptr< Schema > Ptr
Definition: Schema.h:185
SWC::Comm::Protocol::Mngr::Params::ColumnMng::internal_encode
void internal_encode(uint8_t **bufp) const override
Definition: ColumnMng.cc:19
SWC::Comm::Protocol::Mngr::Params::ColumnMng::MODIFY
@ MODIFY
Definition: ColumnMng.h:33
SWC::Comm::Protocol::Mngr::Params::ColumnMng::internal_encoded_length
size_t SWC_PURE_FUNC internal_encoded_length() const override
Definition: ColumnMng.cc:15
SWC::Comm::Protocol::Mngr::Params::ColumnMng::INTERNAL_ACK_DELETE
@ INTERNAL_ACK_DELETE
Definition: ColumnMng.h:31
SWC::Comm::Protocol::Mngr::Params::ColumnMng::INTERNAL_ACK_LOAD
@ INTERNAL_ACK_LOAD
Definition: ColumnMng.h:25
SWC::Comm::Protocol::Mngr::Params::ColumnMng::CREATE
@ CREATE
Definition: ColumnMng.h:27
SWC::Comm::Protocol::Mngr::Params::ColumnMng::~ColumnMng
~ColumnMng() noexcept
Definition: ColumnMng.h:47
SWC::Comm::Protocol::Mngr::Params::ColumnMng::INTERNAL_ACK_MODIFY
@ INTERNAL_ACK_MODIFY
Definition: ColumnMng.h:34
SWC::Comm::Protocol::Mngr::Params::ColumnMng::schema
DB::Schema::Ptr schema
Definition: ColumnMng.h:50
SWC_CAN_INLINE
#define SWC_CAN_INLINE
Definition: Compat.h:102
SWC
The SWC-DB C++ namespace 'SWC'.
Definition: main.cc:12
ColumnMng.cc
SWC_PURE_FUNC
#define SWC_PURE_FUNC
Definition: Compat.h:108
SWC::Comm::Serializable
Definition: Serializable.h:18
SWC::Comm::Protocol::Mngr::Params::ColumnMng::function
Function function
Definition: ColumnMng.h:49
SWC::Comm::Protocol::Mngr::Params::ColumnMng::REMOVE
@ REMOVE
Definition: ColumnMng.h:30
SWC::Comm::Protocol::Mngr::Params::ColumnMng::Function
Function
Definition: ColumnMng.h:21
SWC::Comm::Protocol::Mngr::Params::ColumnMng::INTERNAL_LOAD_ALL
@ INTERNAL_LOAD_ALL
Definition: ColumnMng.h:22
Serializable.h
SWC::Comm::Protocol::Mngr::Params::ColumnMng
Definition: ColumnMng.h:18
SWC::Comm::Protocol::Mngr::Params::ColumnMng::ColumnMng
SWC_CAN_INLINE ColumnMng(Function a_function, const DB::Schema::Ptr &a_schema) noexcept
Definition: ColumnMng.h:43
SWC::Comm::Protocol::Mngr::Params::ColumnMng::INTERNAL_LOAD
@ INTERNAL_LOAD
Definition: ColumnMng.h:24
SWC::Comm::Protocol::Mngr::Params::ColumnMng::internal_decode
void internal_decode(const uint8_t **bufp, size_t *remainp) override
Definition: ColumnMng.cc:24
SWC::Comm::Protocol::Mngr::Params::ColumnMng::INTERNAL_ACK_CREATE
@ INTERNAL_ACK_CREATE
Definition: ColumnMng.h:28
SWC::Comm::Protocol::Mngr::Params::ColumnMng::ColumnMng
SWC_CAN_INLINE ColumnMng() noexcept
Definition: ColumnMng.h:40
SWC::Comm::Protocol::Mngr::Params::ColumnMng::INTERNAL_EXPECT
@ INTERNAL_EXPECT
Definition: ColumnMng.h:36