1#ifndef joedb_Writable_Journal_declared
2#define joedb_Writable_Journal_declared
25 void flush_and_may_sync()
62 int64_t until_checkpoint = std::numeric_limits<int64_t>::max()
76 const std::string &name
82 const std::string &name,
96 const std::string &name
99 void custom(
const std::string &name)
final;
114 #define TYPE_MACRO(type, return_type, type_id, read_method, write_method)\
115 void update_##type_id\
118 Record_Id record_id,\
122 void update_vector_##type_id\
125 Record_Id record_id,\
158 throw Exception(
"locking journal with uncheckpointed data");
void set_position(int64_t position)
bool tail_is_locked() const noexcept
Journal_Lock(Writable_Journal &journal)
Journal_Lock & operator=(const Journal_Lock &lock)=delete
Journal_Lock(const Journal_Lock &lock)=delete
int64_t get_position() const
friend class Writable_Journal
int64_t get_checkpoint_position() const
int64_t checkpoint_position
Blob write_blob_data(const std::string &data) final
bool wants_blob_data() const final
int64_t ahead_of_checkpoint() const noexcept
Writable_Journal * get_writable_journal() override
int64_t pull_from(Readonly_Journal &journal, int64_t until_checkpoint=std::numeric_limits< int64_t >::max())
void checkpoint(Commit_Level commit_level) final
Async_Writer get_async_tail_writer()
Commit_Level get_default_commit_level() const