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

#include <joedb/interpreted/Database_Schema.h>

Inheritance diagram for joedb::Database_Schema:
Collaboration diagram for joedb::Database_Schema:

Public Member Functions

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
const 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 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
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

Protected Member Functions

const Table & get_table (Table_Id table_id) const
Table & get_table (Table_Id table_id)

Static Protected Member Functions

static void check_identifier (const char *message, const std::string &name)

Protected Attributes

std::map< Table_Id, Table > tables
std::map< Table_Id, std::string > table_names
Table_Id current_table_id = Table_Id(0)

Detailed Description

Definition at line 13 of file Database_Schema.h.

Constructor & Destructor Documentation

◆ ~Database_Schema()

joedb::Database_Schema::~Database_Schema ( )
overridevirtualdefault

Member Function Documentation

◆ add_field()

void joedb::Database_Schema::add_field ( Table_Id table_id,
const std::string & name,
Type type )
overridevirtual

Reimplemented from joedb::Writable.

Definition at line 146 of file Database_Schema.cpp.

◆ check_identifier()

void joedb::Database_Schema::check_identifier ( const char * message,
const std::string & name )
staticprotected

Definition at line 8 of file Database_Schema.cpp.

◆ create_table()

void joedb::Database_Schema::create_table ( const std::string & name)
overridevirtual

Reimplemented from joedb::Writable.

Definition at line 103 of file Database_Schema.cpp.

◆ drop_field()

void joedb::Database_Schema::drop_field ( Table_Id table_id,
Field_Id field_id )
overridevirtual

Reimplemented from joedb::Writable.

Definition at line 160 of file Database_Schema.cpp.

◆ drop_table()

void joedb::Database_Schema::drop_table ( Table_Id table_id)
overridevirtual

Reimplemented from joedb::Writable.

Definition at line 117 of file Database_Schema.cpp.

◆ get_blob()

const joedb::Blob & joedb::Database_Schema::get_blob ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id ) const
overridevirtual

◆ get_boolean()

const char & joedb::Database_Schema::get_boolean ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id ) const
overridevirtual

◆ get_field_type()

const Type & joedb::Database_Schema::get_field_type ( Table_Id table_id,
Field_Id field_id ) const
overridevirtual

Implements joedb::Readable.

Definition at line 62 of file Database_Schema.cpp.

◆ get_fields()

const std::map< Field_Id, std::string > & joedb::Database_Schema::get_fields ( Table_Id table_id) const
overridevirtual

Implements joedb::Readable.

Definition at line 52 of file Database_Schema.cpp.

◆ get_float32()

const float & joedb::Database_Schema::get_float32 ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id ) const
overridevirtual

◆ get_float64()

const double & joedb::Database_Schema::get_float64 ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id ) const
overridevirtual

◆ get_freedom()

const Freedom_Keeper & joedb::Database_Schema::get_freedom ( Table_Id table_id) const
overridevirtual

◆ get_int16()

const int16_t & joedb::Database_Schema::get_int16 ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id ) const
overridevirtual

◆ get_int32()

const int32_t & joedb::Database_Schema::get_int32 ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id ) const
overridevirtual

◆ get_int64()

const int64_t & joedb::Database_Schema::get_int64 ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id ) const
overridevirtual

◆ get_int8()

const int8_t & joedb::Database_Schema::get_int8 ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id ) const
overridevirtual

◆ get_string()

const std::string & joedb::Database_Schema::get_string ( Table_Id table_id,
Record_Id record_id,
Field_Id field_id ) const
overridevirtual

◆ get_table() [1/2]

Table & joedb::Database_Schema::get_table ( Table_Id table_id)
protected

Definition at line 32 of file Database_Schema.cpp.

◆ get_table() [2/2]

const Table & joedb::Database_Schema::get_table ( Table_Id table_id) const
protected

Definition at line 22 of file Database_Schema.cpp.

◆ get_tables()

const std::map< Table_Id, std::string > & joedb::Database_Schema::get_tables ( ) const
inlineoverridevirtual

Implements joedb::Readable.

Definition at line 33 of file Database_Schema.h.

◆ rename_field()

void joedb::Database_Schema::rename_field ( Table_Id table_id,
Field_Id field_id,
const std::string & name )
overridevirtual

Reimplemented from joedb::Writable.

Definition at line 167 of file Database_Schema.cpp.

◆ rename_table()

void joedb::Database_Schema::rename_table ( Table_Id table_id,
const std::string & name )
overridevirtual

Reimplemented from joedb::Writable.

Definition at line 128 of file Database_Schema.cpp.

Member Data Documentation

◆ current_table_id

Table_Id joedb::Database_Schema::current_table_id = Table_Id(0)
protected

Definition at line 18 of file Database_Schema.h.

◆ table_names

std::map<Table_Id, std::string> joedb::Database_Schema::table_names
protected

Definition at line 17 of file Database_Schema.h.

◆ tables

std::map<Table_Id, Table> joedb::Database_Schema::tables
protected

Definition at line 16 of file Database_Schema.h.


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