12#ifndef joedb_db_multi_server_Writable_Database_declared
13#define joedb_db_multi_server_Writable_Database_declared
31 friend class detail::Client_Data;
41 void check_single_row();
55 bool perform_initialization,
139 const std::string& field_value_of_file_name,
140 int32_t field_value_of_port,
141 int32_t field_value_of_timeout
146 set_port(result, field_value_of_port);
159 for (
size_t i = size; i > 0;)
171 std::exception_ptr exception;
174 catch (...) {exception = std::current_exception();}
178 std::rethrow_exception(exception);
189 std::exception_ptr exception;
192 catch (...) {exception = std::current_exception();}
196 std::rethrow_exception(exception);
207 std::exception_ptr exception;
210 catch (...) {exception = std::current_exception();}
214 std::rethrow_exception(exception);
virtual std::string read_blob_data(Blob blob) const
const Buffered_File & get_file() const
Blob write_blob_data(const std::string &data) final
void insert_vector(Table_Id table_id, Record_Id record_id, size_t size) final
int64_t ahead_of_checkpoint() const noexcept
void delete_from(Table_Id table_id, Record_Id record_id) final
void insert_into(Table_Id table_id, Record_Id record_id) final
void checkpoint(Commit_Level commit_level) final
void default_checkpoint()
Handle concurrent access to a joedb::Buffered_File using a joedb::Connection.
Store all the tables of the database.
void comment(const std::string &comment) override
void internal_update_vector_server__timeout(Record_Id record_id, size_t size, const int32_t *value)
void internal_update_server__port(Record_Id record_id, int32_t field_value_of_port)
void internal_update_server__timeout(Record_Id record_id, int32_t field_value_of_timeout)
void internal_insert_server(Record_Id record_id)
void internal_delete_server(Record_Id record_id)
void timestamp(int64_t timestamp) override
void internal_update_server__file_name(Record_Id record_id, const std::string &field_value_of_file_name)
void internal_update_vector_server__port(Record_Id record_id, size_t size, const int32_t *value)
detail::data_of_server storage_of_server
void internal_vector_insert_server(Record_Id record_id, size_t size)
void internal_update_vector_server__file_name(Record_Id record_id, size_t size, const std::string *value)
Write simultaneously to the database and the file (ignore schema changes)
A writable Database constructed from a writable joedb::Buffered_File.
void checkpoint_no_commit()
void delete_server(id_of_server record)
id_of_server new_server()
void clear_server_table()
void checkpoint_full_commit()
void update_vector_of_timeout(id_of_server record, size_t size, F f)
id_of_server new_vector_of_server(size_t size)
joedb::Blob write_blob_data(const std::string &data) final
void checkpoint(joedb::Commit_Level commit_level) final
void update_vector_of_port(id_of_server record, size_t size, F f)
int64_t ahead_of_checkpoint() const
id_of_server new_server(const std::string &field_value_of_file_name, int32_t field_value_of_port, int32_t field_value_of_timeout)
void set_file_name(id_of_server record, const std::string &field_value_of_file_name)
std::string read_blob_data(joedb::Blob blob) const
void update_vector_of_file_name(id_of_server record, size_t size, F f)
const joedb::Readonly_Journal & get_journal() const
void set_port(id_of_server record, int32_t field_value_of_port)
void write_comment(const std::string &comment)
void delete_vector_of_server(id_of_server v, size_t size)
void checkpoint_half_commit()
void set_timeout(id_of_server record, int32_t field_value_of_timeout)
Strongly-typed wrapper around an integer representing a row of the server table.
constexpr Record_Id get_record_id() const
constexpr size_t get_id() const
Automatically generated by joedbc.