12#ifndef joedb_db_encoded_file_Client_declared
13#define joedb_db_encoded_file_Client_declared
35 db(file,
false, check, commit_level)
43 protected detail::Client_Data,
49 int64_t schema_checkpoint;
55 if (schema_checkpoint)
57 if (db.schema_journal.get_checkpoint_position() > schema_checkpoint)
59 db.check_single_row();
68 bool content_check =
true,
72 detail::Client_Data(file, check, commit_level),
73 joedb::
Client(db.journal, connection, content_check),
84 schema_checkpoint = db.schema_journal.get_checkpoint_position();
Lock object that allows writing to a database managed by a joedb::Client.
Handle concurrent access to a file with a joedb::Connection.
void transaction(F transaction)
int64_t get_checkpoint_difference() const
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.
void read_journal() override
const Database & get_database() const
void transaction(F transaction)
Execute a write transaction.
Client(joedb::Buffered_File &file, joedb::Connection &connection, bool content_check=true, joedb::Readonly_Journal::Check check=joedb::Readonly_Journal::Check::all, joedb::Commit_Level commit_level=joedb::Commit_Level::no_commit)
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.
Automatically generated by joedbc.