1#ifndef joedb_Writable_declared
2#define joedb_Writable_declared
28 const std::string &name,
36 const std::string &name
39 virtual void custom(
const std::string &name) {}
62 #define TYPE_MACRO(type, return_type, type_id, R, W)\
63 virtual void update_##type_id\
72 #define TYPE_MACRO(type, return_type, type_id, R, W)\
73 virtual void update_vector_##type_id\
81 virtual type *get_own_##type_id##_storage\
92 const type *get_own_##type_id##_const_storage\
100 return (const_cast<Writable *>(this))->get_own_##type_id##_storage(table_id, record_id, field_id, capacity);\
virtual Blob write_blob(const std::string &data)
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 hard_checkpoint()
virtual void drop_field(Table_Id table_id, Field_Id field_id)
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 void soft_checkpoint()
virtual bool wants_blob_data() const
virtual void custom(const std::string &name)
virtual void start_writing(int64_t position)
virtual void delete_vector(Table_Id table_id, Record_Id record_id, size_t size)
virtual ~Writable()=default
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 end_writing(int64_t position)
virtual int64_t get_position() const
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)