1#ifndef joedb_Writable_declared
2#define joedb_Writable_declared
31 const std::string &name,
39 const std::string &name
42 virtual void custom(
const std::string &name) {}
65 #define TYPE_MACRO(type, return_type, type_id, R, W)\
66 virtual void update_##type_id\
75 #define TYPE_MACRO(type, return_type, type_id, R, W)\
76 virtual void update_vector_##type_id\
84 virtual type *get_own_##type_id##_storage\
95 const type *get_own_##type_id##_const_storage\
103 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_at(int64_t position)
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 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 soft_checkpoint_at(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)