Joedb 9.1.3
The Journal-Only Embedded Database
|
Store all the tables of the database. More...
#include <tutorial/Database.h>
Public Member Functions | |
void | set_max_record_id (size_t record_id) |
bool | is_valid (id_of_city id) const |
bool | is_valid (id_of_person id) const |
Database () | |
int64_t | get_schema_checkpoint () const |
void | initialize_with_readonly_journal (joedb::Readonly_Journal &journal) |
container_of_city | get_city_table () const |
id_of_city | next (id_of_city id) const |
id_of_city | previous (id_of_city id) const |
template<class Comparator > | |
std::vector< id_of_city > | sorted_city (Comparator comparator) const |
const std::string & | get_name (id_of_city record) const |
container_of_person | get_person_table () const |
id_of_person | next (id_of_person id) const |
id_of_person | previous (id_of_person id) const |
template<class Comparator > | |
std::vector< id_of_person > | sorted_person (Comparator comparator) const |
const std::string & | get_first_name (id_of_person record) const |
const std::string & | get_last_name (id_of_person record) const |
id_of_city | get_home (id_of_person record) const |
const std::map< std::string, id_of_city > & | get_index_of_city_by_name () |
const std::multimap< std::tuple< std::string, std::string >, id_of_person > & | get_index_of_person_by_name () |
id_of_city | next_city_by_name (id_of_city id) |
id_of_city | previous_city_by_name (id_of_city id) |
id_of_city | find_city_by_name (const std::string &field_value_of_name) const |
range_of_person_by_name | find_person_by_name (const std::string &field_value_of_last_name, const std::string &field_value_of_first_name) const |
![]() | |
Writable (Commit_Level default_commit_level=Commit_Level::no_commit) | |
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 | flush () |
virtual void | checkpoint (Commit_Level commit_level) |
Commit_Level | get_default_commit_level () const |
void | default_checkpoint () |
virtual void | insert_into (Table_Id table_id, Record_Id record_id) |
virtual void | insert_vector (Table_Id table_id, Record_Id record_id, size_t size) |
virtual void | delete_from (Table_Id table_id, Record_Id record_id) |
virtual void | on_blob (Blob blob) |
virtual bool | wants_blob_data () const |
virtual Blob | write_blob_data (const std::string &data) |
virtual | ~Writable ()=default |
Static Public Member Functions | |
template<typename E = joedb::Exception> | |
static void | throw_exception (const std::string &message) |
static id_of_city | null_city () |
static id_of_person | null_person () |
Public Attributes | |
size_t | max_record_id |
Table_Id | current_table_id = Table_Id{0} |
Protected Member Functions | |
bool | is_valid_record_id_for_city (Record_Id record_id) const |
bool | is_valid_record_id_for_person (Record_Id record_id) const |
void | remove_index_of_city_by_name (Record_Id record_id) |
void | add_index_of_city_by_name (Record_Id record_id) |
void | remove_index_of_person_by_name (Record_Id record_id) |
void | add_index_of_person_by_name (Record_Id record_id) |
void | internal_delete_city (Record_Id record_id) |
void | internal_delete_person (Record_Id record_id) |
void | internal_insert_city (Record_Id record_id) |
void | internal_vector_insert_city (Record_Id record_id, size_t size) |
void | internal_insert_person (Record_Id record_id) |
void | internal_vector_insert_person (Record_Id record_id, size_t size) |
void | internal_update_city__name (Record_Id record_id, const std::string &field_value_of_name) |
void | internal_update_vector_city__name (Record_Id record_id, size_t size, const std::string *value) |
void | internal_update_person__first_name (Record_Id record_id, const std::string &field_value_of_first_name) |
void | internal_update_vector_person__first_name (Record_Id record_id, size_t size, const std::string *value) |
void | internal_update_person__last_name (Record_Id record_id, const std::string &field_value_of_last_name) |
void | internal_update_vector_person__last_name (Record_Id record_id, size_t size, const std::string *value) |
void | internal_update_person__home (Record_Id record_id, id_of_city field_value_of_home) |
void | internal_update_vector_person__home (Record_Id record_id, size_t size, const id_of_city *value) |
void | delete_from (Table_Id table_id, Record_Id record_id) final |
void | insert_into (Table_Id table_id, Record_Id record_id) final |
void | insert_vector (Table_Id table_id, Record_Id record_id, size_t size) final |
void | update_string (Table_Id table_id, Record_Id record_id, Field_Id field_id, const std::string &value) final |
void | update_reference (Table_Id table_id, Record_Id record_id, Field_Id field_id, joedb::Record_Id value) final |
void | update_vector_string (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t size, const std::string *value) final |
void | update_vector_reference (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t size, const joedb::Record_Id *value) final |
std::string * | get_own_string_storage (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t &capacity) final |
joedb::Record_Id * | get_own_reference_storage (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t &capacity) final |
void | comment (const std::string &comment) override |
void | timestamp (int64_t timestamp) override |
void | valid_data () final |
bool | requires_schema_upgrade () const |
void | check_schema () |
void | create_table (const std::string &name) override |
void | drop_table (Table_Id table_id) final |
void | rename_table (Table_Id table_id, const std::string &name) final |
void | add_field (Table_Id table_id, const std::string &name, joedb::Type type) override |
void | drop_field (Table_Id table_id, Field_Id field_id) final |
void | rename_field (Table_Id table_id, Field_Id field_id, const std::string &name) final |
void | custom (const std::string &name) override |
Protected Attributes | |
detail::data_of_city | storage_of_city |
detail::data_of_person | storage_of_person |
std::map< std::string, id_of_city > | index_of_city_by_name |
std::multimap< std::tuple< std::string, std::string >, id_of_person > | index_of_person_by_name |
bool | upgrading_schema = false |
joedb::Memory_File | schema_file |
joedb::Writable_Journal | schema_journal |
Friends | |
class | Readable |
class | id_of_city |
class | container_of_city |
class | id_of_person |
class | container_of_person |
class | range_of_person_by_name |
Definition at line 100 of file Database.h.
|
inline |
Definition at line 669 of file Database.h.
|
inlineoverrideprotected |
Definition at line 634 of file Database.h.
|
inlineprotected |
Definition at line 143 of file Database.h.
|
inlineprotected |
Definition at line 174 of file Database.h.
|
inlineprotected |
Definition at line 590 of file Database.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from joedb::Writable.
Definition at line 577 of file Database.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from joedb::Writable.
Definition at line 611 of file Database.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from joedb::Writable.
Definition at line 662 of file Database.h.
|
inlinefinalprotected |
Definition at line 352 of file Database.h.
|
inlinefinalprotected |
Definition at line 645 of file Database.h.
|
inlinefinalprotected |
Definition at line 618 of file Database.h.
|
inline |
Definition at line 796 of file Database.h.
|
inline |
Definition at line 953 of file Database.h.
|
inline |
Definition at line 850 of file Database.h.
|
inline |
Definition at line 749 of file Database.h.
|
inline |
Definition at line 761 of file Database.h.
|
inline |
Definition at line 767 of file Database.h.
|
inline |
Definition at line 772 of file Database.h.
|
inline |
Definition at line 755 of file Database.h.
|
inline |
Definition at line 717 of file Database.h.
|
inlinefinalprotected |
Definition at line 556 of file Database.h.
|
inlinefinalprotected |
Definition at line 522 of file Database.h.
|
inline |
Definition at line 908 of file Database.h.
|
inline |
Definition at line 674 of file Database.h.
|
inline |
Definition at line 679 of file Database.h.
|
inlinefinalprotected |
Definition at line 360 of file Database.h.
|
inlinefinalprotected |
Definition at line 383 of file Database.h.
|
inlineprotected |
Definition at line 187 of file Database.h.
|
inlineprotected |
Definition at line 194 of file Database.h.
|
inlineprotected |
Definition at line 204 of file Database.h.
|
inlineprotected |
Definition at line 220 of file Database.h.
|
inlineprotected |
Definition at line 237 of file Database.h.
|
inlineprotected |
Definition at line 267 of file Database.h.
|
inlineprotected |
Definition at line 327 of file Database.h.
|
inlineprotected |
Definition at line 297 of file Database.h.
|
inlineprotected |
Definition at line 249 of file Database.h.
|
inlineprotected |
Definition at line 279 of file Database.h.
|
inlineprotected |
Definition at line 337 of file Database.h.
|
inlineprotected |
Definition at line 309 of file Database.h.
|
inlineprotected |
Definition at line 210 of file Database.h.
|
inlineprotected |
Definition at line 226 of file Database.h.
|
inline |
Definition at line 124 of file Database.h.
|
inline |
Definition at line 125 of file Database.h.
|
inlineprotected |
Definition at line 129 of file Database.h.
|
inlineprotected |
Definition at line 131 of file Database.h.
|
inline |
Definition at line 693 of file Database.h.
|
inline |
Definition at line 725 of file Database.h.
|
inline |
Definition at line 777 of file Database.h.
|
inlinestatic |
Definition at line 712 of file Database.h.
|
inlinestatic |
Definition at line 744 of file Database.h.
|
inline |
Definition at line 701 of file Database.h.
|
inline |
Definition at line 733 of file Database.h.
|
inline |
Definition at line 787 of file Database.h.
|
inlineprotected |
Definition at line 134 of file Database.h.
|
inlineprotected |
Definition at line 165 of file Database.h.
|
inlinefinalprotected |
Definition at line 651 of file Database.h.
|
inlinefinalprotected |
Definition at line 624 of file Database.h.
|
inlineprotected |
Definition at line 585 of file Database.h.
|
inline |
Definition at line 119 of file Database.h.
std::vector< id_of_city > tutorial::Database::sorted_city | ( | Comparator | comparator | ) | const |
Definition at line 856 of file Database.h.
std::vector< id_of_person > tutorial::Database::sorted_person | ( | Comparator | comparator | ) | const |
Definition at line 914 of file Database.h.
|
inlinestatic |
Definition at line 111 of file Database.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from joedb::Writable.
Definition at line 578 of file Database.h.
|
inlinefinalprotected |
Definition at line 446 of file Database.h.
|
inlinefinalprotected |
Definition at line 412 of file Database.h.
|
inlinefinalprotected |
Definition at line 501 of file Database.h.
|
inlinefinalprotected |
Definition at line 466 of file Database.h.
|
inlinefinalprotectedvirtual |
Reimplemented from joedb::Writable.
Definition at line 579 of file Database.h.
|
friend |
Definition at line 104 of file Database.h.
|
friend |
Definition at line 106 of file Database.h.
|
friend |
Definition at line 103 of file Database.h.
|
friend |
Definition at line 105 of file Database.h.
|
friend |
Definition at line 107 of file Database.h.
|
friend |
Definition at line 102 of file Database.h.
Table_Id tutorial::Database::current_table_id = Table_Id{0} |
Definition at line 117 of file Database.h.
|
protected |
Definition at line 133 of file Database.h.
|
protected |
Definition at line 164 of file Database.h.
size_t tutorial::Database::max_record_id |
Definition at line 116 of file Database.h.
|
protected |
Definition at line 582 of file Database.h.
|
protected |
Definition at line 583 of file Database.h.
|
protected |
Definition at line 128 of file Database.h.
|
protected |
Definition at line 130 of file Database.h.
|
protected |
Definition at line 581 of file Database.h.