1#ifndef joedb_Writable_declared
2#define joedb_Writable_declared
28 default_commit_level(default_commit_level)
39 const std::string &name,
47 const std::string &name
50 virtual void custom(
const std::string &name) {}
69 #define TYPE_MACRO(type, return_type, type_id, R, W)\
70 virtual void update_##type_id\
79 #define TYPE_MACRO(type, return_type, type_id, R, W)\
80 virtual void update_vector_##type_id\
88 virtual type *get_own_##type_id##_storage\
99 const type *get_own_##type_id##_const_storage\
102 Record_Id record_id,\
107 return (const_cast<Writable *>(this))->get_own_##type_id##_storage(table_id, record_id, field_id, capacity);\
Writable(Commit_Level default_commit_level=Commit_Level::no_commit)
virtual void insert_into(Table_Id table_id, Record_Id record_id)
virtual void drop_table(Table_Id table_id)
virtual void create_table(const std::string &name)
virtual void drop_field(Table_Id table_id, Field_Id field_id)
virtual Blob write_blob_data(const std::string &data)
virtual void rename_table(Table_Id table_id, const std::string &name)
virtual void insert_vector(Table_Id table_id, Record_Id record_id, size_t size)
virtual bool wants_blob_data() const
virtual void custom(const std::string &name)
virtual ~Writable()=default
Commit_Level get_default_commit_level() const
virtual void add_field(Table_Id table_id, const std::string &name, Type type)
virtual void delete_from(Table_Id table_id, Record_Id record_id)
virtual void checkpoint(Commit_Level commit_level)
virtual void comment(const std::string &comment)
virtual void on_blob(Blob blob)
virtual void valid_data()
virtual void rename_field(Table_Id table_id, Field_Id field_id, const std::string &name)
virtual void timestamp(int64_t timestamp)
void default_checkpoint()