1#ifndef joedb_Writable_Journal_declared
2#define joedb_Writable_Journal_declared
61 const std::string &name
67 const std::string &name,
81 const std::string &name
84 void custom(
const std::string &name)
override;
106 #define TYPE_MACRO(type, return_type, type_id, read_method, write_method)\
107 void update_##type_id\
110 Record_Id record_id,\
114 void update_vector_##type_id\
117 Record_Id record_id,\
148 throw Exception(
"locking journal with uncheckpointed data");
bool tail_is_locked() const noexcept
int64_t get_position() const noexcept
Journal_Lock(Writable_Journal &journal)
Journal_Lock & operator=(const Journal_Lock &lock)=delete
Journal_Lock(const Journal_Lock &lock)=delete
friend class Writable_Journal
int64_t get_checkpoint() const
bool wants_blob_data() const override
int64_t pull_from(const Readonly_Journal &journal, int64_t until)
void valid_data() override
void soft_checkpoint() override
Blob write_blob(const std::string &data) override
int64_t ahead_of_checkpoint() const noexcept
Writable_Journal(Buffered_File &file)
void soft_checkpoint_at(int64_t position)
void start_writing(int64_t position) override
int64_t get_position() const override
int64_t pull_from(const Readonly_Journal &journal)
void end_writing(int64_t position) override
void hard_checkpoint() override
Writable_Journal(Journal_Construction_Lock &&lock)
Async_Writer get_async_tail_writer()
void hard_checkpoint_at(int64_t position)
Superclass with all joedb journal event listeners as virtual functions.