49 void Writable_Database::play_journal()
53 ready_to_write =
false;
55 ready_to_write =
true;
60 void Writable_Database::auto_upgrade()
65 if (file_schema_size < detail::schema_string_size)
67 journal.
comment(
"Automatic schema upgrade");
86 Writable_Database::Writable_Database
90 bool perform_initialization
96 if (perform_initialization)
108 void Writable_Database::check_single_row()
119 void Writable_Database::create_table(
const std::string &name)
132 void Writable_Database::add_field
136 const std::string &name,
142 if (table_id == Table_Id{1})
144 const auto field_id = ++storage_of_settings.current_field_id;
145 if (upgrading_schema)
147 if (field_id == Field_Id{1})
149 for (
const auto record: get_settings_table())
150 set_dark_mode(record, true);
152 if (field_id == Field_Id{2})
154 for (
const auto record: get_settings_table())
155 set_host(record,
"www.kayufu.com");
157 if (field_id == Field_Id{3})
159 for (
const auto record: get_settings_table())
160 set_user(record,
"joe");
int64_t get_size() const override
Get the size of the file, or -1 if it is unknown.
void append_until(Writable &writable, int64_t end)
void play_until_checkpoint(Writable &writable)
int64_t get_checkpoint() const
void skip_directly_to(int64_t position)
void timestamp(int64_t timestamp) final
void comment(const std::string &comment) final
static constexpr id_of_settings the_settings()
void create_table(const std::string &name) override
joedb::Writable_Journal schema_journal
void add_field(Table_Id table_id, const std::string &name, joedb::Type type) override
void timestamp(int64_t timestamp) override
joedb::Memory_File schema_file
Table_Id current_table_id
void comment(const std::string &comment) override
container_of_settings get_settings_table() const
A writable Database constructed from a writable joedb::Buffered_File.
void write_comment(const std::string &comment)
Automatically generated by joedbc.