Joedb 9.5.0
The Journal-Only Embedded Database
Loading...
Searching...
No Matches
Raw_Dump_Writable.h
Go to the documentation of this file.
1#ifndef joedb_Raw_Dump_Writable_declared
2#define joedb_Raw_Dump_Writable_declared
3
4#include "joedb/Writable.h"
5
6#include <iostream>
7
8namespace joedb
9{
10 /// @ingroup ui
12 {
13 private:
14 std::ostream &out;
15
16 void write_type(Type type);
17
18 public:
19 Raw_Dump_Writable(std::ostream &out): out(out) {}
20
21 void create_table(const std::string &name) final;
22 void drop_table(Table_Id table_id) final;
23 void rename_table(Table_Id table_id, const std::string &name) final;
24 void add_field
25 (
26 Table_Id table_id,
27 const std::string &name,
28 Type type
29 ) final;
30 void drop_field(Table_Id table_id, Field_Id field_id) final;
31 void rename_field
32 (
33 Table_Id table_id,
34 Field_Id field_id,
35 const std::string &name
36 ) final;
37 void custom(const std::string &name) final;
38 void comment(const std::string &comment) final;
39 void timestamp(int64_t timestamp) final;
40 void valid_data() final;
41
42 void insert_into(Table_Id table_id, Record_Id record_id) final;
43 void delete_from(Table_Id table_id, Record_Id record_id) final;
44
45 void insert_vector
46 (
47 Table_Id table_id,
48 Record_Id record_id,
49 size_t size
50 ) final;
51
52 void delete_vector
53 (
54 Table_Id table_id,
55 Record_Id record_id,
56 size_t size
57 ) final;
58
59 #define TYPE_MACRO(type, return_type, type_id, R, W)\
60 void update_##type_id\
61 (\
62 Table_Id table_id,\
63 Record_Id record_id,\
64 Field_Id field_id,\
65 return_type value\
66 ) final;\
67 void update_vector_##type_id\
68 (\
69 Table_Id table_id,\
70 Record_Id record_id,\
71 Field_Id field_id,\
72 size_t size,\
73 const type *value\
74 ) final;
75 #include "joedb/TYPE_MACRO.h"
76
77 bool wants_blob_data() const final {return true;}
78 Blob write_blob(const std::string &data) final;
79
81 };
82}
83
84#endif
void comment(const std::string &comment) final
void rename_field(Table_Id table_id, Field_Id field_id, const std::string &name) final
void delete_from(Table_Id table_id, Record_Id record_id) final
void create_table(const std::string &name) final
void drop_table(Table_Id table_id) final
void delete_vector(Table_Id table_id, Record_Id record_id, size_t size) final
void insert_into(Table_Id table_id, Record_Id record_id) final
bool wants_blob_data() const final
Raw_Dump_Writable(std::ostream &out)
void add_field(Table_Id table_id, const std::string &name, Type type) final
void timestamp(int64_t timestamp) final
void drop_field(Table_Id table_id, Field_Id field_id) final
void insert_vector(Table_Id table_id, Record_Id record_id, size_t size) final
void rename_table(Table_Id table_id, const std::string &name) final
Blob write_blob(const std::string &data) final
void custom(const std::string &name) final
Definition Blob.h:7