12#ifndef settings_Client_declared
13#define settings_Client_declared
37 protected detail::Client_Data,
43 int64_t schema_checkpoint;
49 if (schema_checkpoint)
51 if (db.schema_journal.get_checkpoint() > schema_checkpoint)
53 db.check_single_row();
64 detail::Client_Data(file),
76 schema_checkpoint = db.schema_journal.get_checkpoint();
Lock object that allows writing to a database managed by a joedb::Client.
Readonly_Journal & journal
int64_t get_checkpoint_difference() const
Writable specialization of Client.
Writable_Client(Writable_Journal &journal, Connection &connection, Content_Check content_check=Content_Check::quick)
auto transaction(F transaction)
For more flexibility than the transaction lambda.
Writable_Database & get_database()
Client_Lock(Client &client)
Handle concurrent access to a joedb::Buffered_File using a joedb::Connection.
const Database & get_database() const
void read_journal() override
Client(joedb::Buffered_File &file, joedb::Connection &connection, joedb::Content_Check content_check=joedb::Content_Check::quick)
auto transaction(F transaction)
Execute a write transaction.
Store all the tables of the database.
static void throw_exception(const std::string &message)
A writable Database constructed from a writable joedb::Buffered_File.
#define JOEDB_DEBUG_ASSERT(x)
Automatically generated by joedbc.