Joedb 10.4.6
The Journal-Only Embedded Database
Loading...
Searching...
No Matches
tutorial::Readable Class Reference

Implement the joedb::Readable interface for a compiled database. More...

#include <tutorial/Readable.h>

Inheritance diagram for tutorial::Readable:
Collaboration diagram for tutorial::Readable:

Public Member Functions

 Readable (const Database &db)
const joedb::Freedom_Keeper & get_freedom (Table_Id table_id) const override
const std::string & get_string (Table_Id table_id, Record_Id record_id, Field_Id field_id) const override
const int32_t & get_int32 (Table_Id table_id, Record_Id record_id, Field_Id field_id) const override
const int64_t & get_int64 (Table_Id table_id, Record_Id record_id, Field_Id field_id) const override
const joedb::Record_Id & get_reference (Table_Id table_id, Record_Id record_id, Field_Id field_id) const override
const char & get_boolean (Table_Id table_id, Record_Id record_id, Field_Id field_id) const override
const float & get_float32 (Table_Id table_id, Record_Id record_id, Field_Id field_id) const override
const double & get_float64 (Table_Id table_id, Record_Id record_id, Field_Id field_id) const override
const int8_t & get_int8 (Table_Id table_id, Record_Id record_id, Field_Id field_id) const override
const int16_t & get_int16 (Table_Id table_id, Record_Id record_id, Field_Id field_id) const override
const joedb::Blob & get_blob (Table_Id table_id, Record_Id record_id, Field_Id field_id) const override
Public Member Functions inherited from joedb::Database_Schema
const std::map< Table_Id, std::string > & get_tables () const override
const std::map< Field_Id, std::string > & get_fields (Table_Id table_id) const override
const Type & get_field_type (Table_Id table_id, Field_Id field_id) const override
void create_table (const std::string &name) override
void drop_table (Table_Id table_id) override
void rename_table (Table_Id table_id, const std::string &name) override
void add_field (Table_Id table_id, const std::string &name, Type type) override
void drop_field (Table_Id table_id, Field_Id field_id) override
void rename_field (Table_Id, Field_Id, const std::string &name) override
virtual ~Database_Schema () override
Public Member Functions inherited from joedb::Readable
Table_Id find_table (const std::string &name) const
Field_Id find_field (Table_Id table_id, const std::string &name) const
const std::string & get_table_name (Table_Id table_id) const
const std::string & get_field_name (Table_Id table_id, Field_Id field_id) const
Record_Id get_size (Table_Id table_id) const
bool is_used (Table_Id table_id, Record_Id record_id) const
virtual ~Readable ()
Public Member Functions inherited from joedb::Dummy_Writable
void insert_vector (Table_Id table_id, Record_Id record_id, size_t size) override
void delete_vector (Table_Id table_id, Record_Id record_id, size_t size) override
Public Member Functions inherited from joedb::Writable
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 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 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

Additional Inherited Members

Protected Member Functions inherited from joedb::Database_Schema
const Table & get_table (Table_Id table_id) const
Table & get_table (Table_Id table_id)
Static Protected Member Functions inherited from joedb::Database_Schema
static void check_identifier (const char *message, const std::string &name)
Protected Attributes inherited from joedb::Database_Schema
std::map< Table_Id, Table > tables
std::map< Table_Id, std::string > table_names
Table_Id current_table_id = Table_Id(0)

Detailed Description

This allows using a compiled database with tools such as the command interpreter.

Definition at line 26 of file Readable.h.

Constructor & Destructor Documentation

◆ Readable()

tutorial::Readable::Readable ( const Database & db)
inline

Definition at line 32 of file Readable.h.

Member Function Documentation

◆ get_blob()

const joedb::Blob & tutorial::Readable::get_blob ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id ) const
inlineoverridevirtual

Reimplemented from joedb::Database_Schema.

Definition at line 170 of file Readable.h.

◆ get_boolean()

const char & tutorial::Readable::get_boolean ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id ) const
inlineoverridevirtual

Reimplemented from joedb::Database_Schema.

Definition at line 120 of file Readable.h.

◆ get_float32()

const float & tutorial::Readable::get_float32 ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id ) const
inlineoverridevirtual

Reimplemented from joedb::Database_Schema.

Definition at line 130 of file Readable.h.

◆ get_float64()

const double & tutorial::Readable::get_float64 ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id ) const
inlineoverridevirtual

Reimplemented from joedb::Database_Schema.

Definition at line 140 of file Readable.h.

◆ get_freedom()

const joedb::Freedom_Keeper & tutorial::Readable::get_freedom ( Table_Id table_id) const
inlineoverridevirtual

Reimplemented from joedb::Database_Schema.

Definition at line 39 of file Readable.h.

◆ get_int16()

const int16_t & tutorial::Readable::get_int16 ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id ) const
inlineoverridevirtual

Reimplemented from joedb::Database_Schema.

Definition at line 160 of file Readable.h.

◆ get_int32()

const int32_t & tutorial::Readable::get_int32 ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id ) const
inlineoverridevirtual

Reimplemented from joedb::Database_Schema.

Definition at line 82 of file Readable.h.

◆ get_int64()

const int64_t & tutorial::Readable::get_int64 ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id ) const
inlineoverridevirtual

Reimplemented from joedb::Database_Schema.

Definition at line 92 of file Readable.h.

◆ get_int8()

const int8_t & tutorial::Readable::get_int8 ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id ) const
inlineoverridevirtual

Reimplemented from joedb::Database_Schema.

Definition at line 150 of file Readable.h.

◆ get_reference()

const joedb::Record_Id & tutorial::Readable::get_reference ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id ) const
inlineoverride

Definition at line 102 of file Readable.h.

◆ get_string()

const std::string & tutorial::Readable::get_string ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id ) const
inlineoverridevirtual

Reimplemented from joedb::Database_Schema.

Definition at line 52 of file Readable.h.


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