Joedb 10.4.6
The Journal-Only Embedded Database
Loading...
Searching...
No Matches
joedb::Writable Class Referenceabstract

Superclass with all joedb journal event listeners as virtual functions. More...

#include <joedb/Writable.h>

Inheritance diagram for joedb::Writable:

Public Member Functions

virtual int64_t get_position () const
virtual void start_writing (int64_t position)
virtual void end_writing (int64_t position)
virtual void soft_checkpoint ()
virtual void hard_checkpoint ()
virtual void create_table (const std::string &name)
virtual void drop_table (Table_Id table_id)
virtual void rename_table (Table_Id table_id, const std::string &name)
virtual void add_field (Table_Id table_id, const std::string &name, Type type)
virtual void drop_field (Table_Id table_id, Field_Id field_id)
virtual void rename_field (Table_Id table_id, Field_Id field_id, const std::string &name)
virtual void custom (const std::string &name)
virtual void comment (const std::string &comment)
virtual void timestamp (int64_t timestamp)
virtual void valid_data ()
virtual void flush ()
virtual void insert_into (Table_Id table_id, Record_Id record_id)
virtual void delete_from (Table_Id table_id, Record_Id record_id)
virtual void insert_vector (Table_Id table_id, Record_Id record_id, size_t size)=0
virtual void delete_vector (Table_Id table_id, Record_Id record_id, size_t size)=0
virtual void update_string (Table_Id table_id, Record_Id record_id, Field_Id field_id, std::string_view value)
virtual void update_int32 (Table_Id table_id, Record_Id record_id, Field_Id field_id, int32_t value)
virtual void update_int64 (Table_Id table_id, Record_Id record_id, Field_Id field_id, int64_t value)
virtual void update_boolean (Table_Id table_id, Record_Id record_id, Field_Id field_id, bool value)
virtual void update_float32 (Table_Id table_id, Record_Id record_id, Field_Id field_id, float value)
virtual void update_float64 (Table_Id table_id, Record_Id record_id, Field_Id field_id, double value)
virtual void update_int8 (Table_Id table_id, Record_Id record_id, Field_Id field_id, int8_t value)
virtual void update_int16 (Table_Id table_id, Record_Id record_id, Field_Id field_id, int16_t value)
virtual void update_blob (Table_Id table_id, Record_Id record_id, Field_Id field_id, joedb::Blob value)
virtual void update_vector_string (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t size, const std::string *value)
virtual std::string * get_own_string_storage (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t &capacity)
const std::string * get_own_string_const_storage (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t &capacity) const
virtual void update_vector_int32 (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t size, const int32_t *value)
virtual int32_t * get_own_int32_storage (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t &capacity)
const int32_t * get_own_int32_const_storage (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t &capacity) const
virtual void update_vector_int64 (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t size, const int64_t *value)
virtual int64_t * get_own_int64_storage (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t &capacity)
const int64_t * get_own_int64_const_storage (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t &capacity) const
virtual void update_vector_reference (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t size, const joedb::Record_Id *value)
virtual joedb::Record_Id * get_own_reference_storage (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t &capacity)
const joedb::Record_Id * get_own_reference_const_storage (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t &capacity) const
virtual void update_vector_boolean (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t size, const char *value)
virtual char * get_own_boolean_storage (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t &capacity)
const char * get_own_boolean_const_storage (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t &capacity) const
virtual void update_vector_float32 (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t size, const float *value)
virtual float * get_own_float32_storage (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t &capacity)
const float * get_own_float32_const_storage (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t &capacity) const
virtual void update_vector_float64 (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t size, const double *value)
virtual double * get_own_float64_storage (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t &capacity)
const double * get_own_float64_const_storage (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t &capacity) const
virtual void update_vector_int8 (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t size, const int8_t *value)
virtual int8_t * get_own_int8_storage (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t &capacity)
const int8_t * get_own_int8_const_storage (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t &capacity) const
virtual void update_vector_int16 (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t size, const int16_t *value)
virtual int16_t * get_own_int16_storage (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t &capacity)
const int16_t * get_own_int16_const_storage (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t &capacity) const
virtual void update_vector_blob (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t size, const joedb::Blob *value)
virtual joedb::Blob * get_own_blob_storage (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t &capacity)
const joedb::Blob * get_own_blob_const_storage (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t &capacity) const
virtual void on_blob (Blob blob)
virtual bool wants_blob_data () const
virtual Blob write_blob (std::string_view data)
virtual ~Writable ()=default

Detailed Description

insert_vector and delete_vector are pure virtual because they do not check size limits, so they can be dangerously slow.

Definition at line 16 of file Writable.h.

Constructor & Destructor Documentation

◆ ~Writable()

virtual joedb::Writable::~Writable ( )
virtualdefault

Member Function Documentation

◆ add_field()

◆ comment()

◆ create_table()

◆ custom()

◆ delete_from()

◆ delete_vector()

◆ drop_field()

◆ drop_table()

◆ end_writing()

virtual void joedb::Writable::end_writing ( int64_t position)
inlinevirtual

◆ flush()

◆ get_own_blob_const_storage()

const joedb::Blob * joedb::Writable::get_own_blob_const_storage ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id,
size_t & capacity ) const
inline

Definition at line 30 of file Writable.h.

◆ get_own_blob_storage()

virtual joedb::Blob * joedb::Writable::get_own_blob_storage ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id,
size_t & capacity )
inlinevirtual

Reimplemented in joedb::Database, joedb::db::encoded_file::Database_Writable, and joedb::Multiplexer.

Definition at line 30 of file Writable.h.

◆ get_own_boolean_const_storage()

const char * joedb::Writable::get_own_boolean_const_storage ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id,
size_t & capacity ) const
inline

Definition at line 18 of file Writable.h.

◆ get_own_boolean_storage()

virtual char * joedb::Writable::get_own_boolean_storage ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id,
size_t & capacity )
inlinevirtual

Reimplemented in joedb::Database, joedb::Multiplexer, and settings::Database_Writable.

Definition at line 18 of file Writable.h.

◆ get_own_float32_const_storage()

const float * joedb::Writable::get_own_float32_const_storage ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id,
size_t & capacity ) const
inline

Definition at line 22 of file Writable.h.

◆ get_own_float32_storage()

virtual float * joedb::Writable::get_own_float32_storage ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id,
size_t & capacity )
inlinevirtual

Reimplemented in joedb::Database, and joedb::Multiplexer.

Definition at line 22 of file Writable.h.

◆ get_own_float64_const_storage()

const double * joedb::Writable::get_own_float64_const_storage ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id,
size_t & capacity ) const
inline

Definition at line 23 of file Writable.h.

◆ get_own_float64_storage()

virtual double * joedb::Writable::get_own_float64_storage ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id,
size_t & capacity )
inlinevirtual

Reimplemented in joedb::Database, and joedb::Multiplexer.

Definition at line 23 of file Writable.h.

◆ get_own_int16_const_storage()

const int16_t * joedb::Writable::get_own_int16_const_storage ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id,
size_t & capacity ) const
inline

Definition at line 27 of file Writable.h.

◆ get_own_int16_storage()

virtual int16_t * joedb::Writable::get_own_int16_storage ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id,
size_t & capacity )
inlinevirtual

Reimplemented in joedb::Database, and joedb::Multiplexer.

Definition at line 27 of file Writable.h.

◆ get_own_int32_const_storage()

const int32_t * joedb::Writable::get_own_int32_const_storage ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id,
size_t & capacity ) const
inline

Definition at line 10 of file Writable.h.

◆ get_own_int32_storage()

virtual int32_t * joedb::Writable::get_own_int32_storage ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id,
size_t & capacity )
inlinevirtual

Reimplemented in joedb::Database, and joedb::Multiplexer.

Definition at line 10 of file Writable.h.

◆ get_own_int64_const_storage()

const int64_t * joedb::Writable::get_own_int64_const_storage ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id,
size_t & capacity ) const
inline

Definition at line 11 of file Writable.h.

◆ get_own_int64_storage()

virtual int64_t * joedb::Writable::get_own_int64_storage ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id,
size_t & capacity )
inlinevirtual

◆ get_own_int8_const_storage()

const int8_t * joedb::Writable::get_own_int8_const_storage ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id,
size_t & capacity ) const
inline

Definition at line 26 of file Writable.h.

◆ get_own_int8_storage()

virtual int8_t * joedb::Writable::get_own_int8_storage ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id,
size_t & capacity )
inlinevirtual

Reimplemented in joedb::Database, and joedb::Multiplexer.

Definition at line 26 of file Writable.h.

◆ get_own_reference_const_storage()

const joedb::Record_Id * joedb::Writable::get_own_reference_const_storage ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id,
size_t & capacity ) const
inline

Definition at line 14 of file Writable.h.

◆ get_own_reference_storage()

virtual joedb::Record_Id * joedb::Writable::get_own_reference_storage ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id,
size_t & capacity )
inlinevirtual

Reimplemented in tutorial::Database_Writable, and tutorial::rpc::population::Database_Writable.

Definition at line 14 of file Writable.h.

◆ get_own_string_const_storage()

const std::string * joedb::Writable::get_own_string_const_storage ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id,
size_t & capacity ) const
inline

Definition at line 7 of file Writable.h.

◆ get_own_string_storage()

virtual std::string * joedb::Writable::get_own_string_storage ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id,
size_t & capacity )
inlinevirtual

◆ get_position()

virtual int64_t joedb::Writable::get_position ( ) const
inlinevirtual

Reimplemented in joedb::Multiplexer, joedb::Selective_Writable, and joedb::Writable_Journal.

Definition at line 19 of file Writable.h.

◆ hard_checkpoint()

◆ insert_into()

◆ insert_vector()

◆ on_blob()

virtual void joedb::Writable::on_blob ( Blob blob)
inlinevirtual

Reimplemented in joedb::Interpreter_Writable, joedb::Multiplexer, and joedb::Selective_Writable.

Definition at line 109 of file Writable.h.

◆ rename_field()

◆ rename_table()

◆ soft_checkpoint()

◆ start_writing()

virtual void joedb::Writable::start_writing ( int64_t position)
inlinevirtual

◆ timestamp()

◆ update_blob()

◆ update_boolean()

void joedb::Writable::update_boolean ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id,
bool value )
virtual

◆ update_float32()

void joedb::Writable::update_float32 ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id,
float value )
virtual

◆ update_float64()

void joedb::Writable::update_float64 ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id,
double value )
virtual

◆ update_int16()

void joedb::Writable::update_int16 ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id,
int16_t value )
virtual

◆ update_int32()

void joedb::Writable::update_int32 ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id,
int32_t value )
virtual

◆ update_int64()

◆ update_int8()

void joedb::Writable::update_int8 ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id,
int8_t value )
virtual

◆ update_string()

◆ update_vector_blob()

void joedb::Writable::update_vector_blob ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id,
size_t size,
const joedb::Blob * value )
virtual

◆ update_vector_boolean()

void joedb::Writable::update_vector_boolean ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id,
size_t size,
const char * value )
virtual

◆ update_vector_float32()

void joedb::Writable::update_vector_float32 ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id,
size_t size,
const float * value )
virtual

◆ update_vector_float64()

void joedb::Writable::update_vector_float64 ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id,
size_t size,
const double * value )
virtual

◆ update_vector_int16()

void joedb::Writable::update_vector_int16 ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id,
size_t size,
const int16_t * value )
virtual

◆ update_vector_int32()

void joedb::Writable::update_vector_int32 ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id,
size_t size,
const int32_t * value )
virtual

◆ update_vector_int64()

void joedb::Writable::update_vector_int64 ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id,
size_t size,
const int64_t * value )
virtual

◆ update_vector_int8()

void joedb::Writable::update_vector_int8 ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id,
size_t size,
const int8_t * value )
virtual

◆ update_vector_reference()

virtual void joedb::Writable::update_vector_reference ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id,
size_t size,
const joedb::Record_Id * value )
virtual

◆ update_vector_string()

void joedb::Writable::update_vector_string ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id,
size_t size,
const std::string * value )
virtual

◆ valid_data()

◆ wants_blob_data()

virtual bool joedb::Writable::wants_blob_data ( ) const
inlinevirtual

◆ write_blob()


The documentation for this class was generated from the following files: