|
Joedb 10.2.3
The Journal-Only Embedded Database
|
Shortcut to directly build a Writable_Database with a Memory_File. More...
#include <tutorial/rpc/population/Memory_Database.h>


Public Member Functions | |
| Memory_Database () | |
| void | pull () |
Public Member Functions inherited from joedb::Memory_File | |
| Memory_File (Open_Mode mode=Open_Mode::create_new) | |
| void | resize (size_t size) |
| std::string & | get_data () |
| const std::string & | get_data () const |
| std::string | move_data () const |
| int64_t | get_size () const override |
| Get the size of the file, or -1 if it is unknown. | |
| size_t | pread (char *buffer, size_t size, int64_t offset) const override |
| Read a range of bytes. | |
| void | pwrite (const char *buffer, size_t size, int64_t offset) override |
| Write a range of bytes. Extend file size if necessary. | |
Public Member Functions inherited from joedb::Abstract_File | |
| Abstract_File (Open_Mode mode) | |
| bool | is_shared () const noexcept |
| bool | is_readonly () const noexcept |
| Open_Mode | get_mode () const noexcept |
| virtual void | sync () |
| Write data durably (including file-size change) | |
| virtual void | datasync () |
| Write data durably (no file-size change) | |
| virtual void | shared_lock (int64_t start, int64_t size) |
| Lock a range of bytes for reading (prevents writes, not reads) | |
| virtual void | exclusive_lock (int64_t start, int64_t size) |
| Lock a range of bytes for writing (prevents both writes and reads) | |
| virtual void | unlock (int64_t start, int64_t size) noexcept |
| Remove a lock. The range should match the range of a corresponding lock. | |
| void | exclusive_lock_tail () |
| void | unlock_tail () noexcept |
| void | exclusive_lock_head () |
| void | shared_lock_head () |
| void | unlock_head () noexcept |
| std::string | read_blob (Blob blob) const |
| virtual void | copy_to (Abstract_File &destination, int64_t start, int64_t size) const |
| virtual bool | equal_to (const Abstract_File &destination, int64_t from, int64_t until) const |
| void | copy_to (Abstract_File &destination) const |
| virtual | ~Abstract_File ()=default |
Public Member Functions inherited from tutorial::rpc::population::Writable_Database | |
| Writable_Database (joedb::Abstract_File &file) | |
| Writable_Database (joedb::Abstract_File &file, joedb::Recovery recovery) | |
| const joedb::Readonly_Journal & | get_journal () const |
| std::string | read_blob (joedb::Blob blob) const |
| joedb::Blob | write_blob (const std::string &data) override |
| int64_t | ahead_of_checkpoint () const |
| void | soft_checkpoint () override |
| void | hard_checkpoint () override |
| void | write_comment (const std::string &comment) |
| void | write_timestamp () |
| void | write_timestamp (int64_t timestamp) |
| void | write_valid_data () |
| void | flush () override |
| void | clear_city_table () |
| id_of_city | new_city () |
| id_of_city | new_vector_of_city (size_t size) |
| void | delete_city (id_of_city record) |
| void | delete_vector_of_city (id_of_city v, size_t size) |
| void | clear_data_table () |
| id_of_data | new_data () |
| id_of_data | new_vector_of_data (size_t size) |
| id_of_data | new_data (const std::string &field_value_of_city_name, id_of_city field_value_of_city, int64_t field_value_of_population) |
| void | delete_data (id_of_data record) |
| void | delete_vector_of_data (id_of_data v, size_t size) |
| void | set_city_name (id_of_data record, const std::string &field_value_of_city_name) |
| template<typename F > | |
| void | update_vector_of_city_name (id_of_data record, size_t size, F f) |
| void | set_city (id_of_data record, id_of_city field_value_of_city) |
| template<typename F > | |
| void | update_vector_of_city (id_of_data record, size_t size, F f) |
| void | set_population (id_of_data record, int64_t field_value_of_population) |
| template<typename F > | |
| void | update_vector_of_population (id_of_data record, size_t size, F f) |
Public Member Functions inherited from tutorial::rpc::population::Database_Writable | |
| Database_Writable () | |
| void | set_max_record_id (joedb::index_t record_id) |
| int64_t | get_schema_checkpoint () const |
| void | initialize_with_readonly_journal (joedb::Readonly_Journal &journal) |
Public Member Functions inherited from tutorial::rpc::population::Database | |
| bool | is_valid (id_of_city id) const |
| bool | is_valid (id_of_data id) const |
| 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 |
| container_of_data | get_data_table () const |
| id_of_data | next (id_of_data id) const |
| id_of_data | previous (id_of_data id) const |
| template<class Comparator > | |
| std::vector< id_of_data > | sorted_data (Comparator comparator) const |
| const std::string & | get_city_name (id_of_data record) const |
| id_of_city | get_city (id_of_data record) const |
| int64_t | get_population (id_of_data record) const |
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 | 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 | 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 | on_blob (Blob blob) |
| virtual bool | wants_blob_data () const |
| virtual | ~Writable ()=default |
Additional Inherited Members | |
Static Public Member Functions inherited from joedb::Abstract_File | |
| static void | reading_past_end_of_file () |
Static Public Member Functions inherited from tutorial::rpc::population::Database | |
| template<typename E = joedb::Exception> | |
| static void | throw_exception (const std::string &message) |
| static id_of_city | null_city () |
| static id_of_data | null_data () |
Protected Member Functions inherited from joedb::Abstract_File | |
| void | make_readonly () |
| void | make_writable () |
Protected Member Functions inherited from tutorial::rpc::population::Database_Writable | |
| void | delete_from (Table_Id table_id, Record_Id record_id) override |
| void | insert_into (Table_Id table_id, Record_Id record_id) override |
| void | delete_vector (Table_Id table_id, Record_Id record_id, size_t size) override |
| void | insert_vector (Table_Id table_id, Record_Id record_id, size_t size) override |
| void | update_string (Table_Id table_id, Record_Id record_id, Field_Id field_id, const std::string &value) override |
| void | update_int64 (Table_Id table_id, Record_Id record_id, Field_Id field_id, int64_t value) override |
| void | update_reference (Table_Id table_id, Record_Id record_id, Field_Id field_id, joedb::Record_Id value) override |
| void | update_vector_string (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t size, const std::string *value) override |
| void | update_vector_int64 (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t size, const int64_t *value) override |
| void | update_vector_reference (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t size, const joedb::Record_Id *value) override |
| std::string * | get_own_string_storage (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t &capacity) override |
| int64_t * | get_own_int64_storage (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t &capacity) override |
| joedb::Record_Id * | get_own_reference_storage (Table_Id table_id, Record_Id record_id, Field_Id field_id, size_t &capacity) override |
| void | comment (const std::string &comment) override |
| void | timestamp (int64_t timestamp) override |
| void | valid_data () override |
| bool | requires_schema_upgrade () const |
| void | check_schema () |
| 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, joedb::Type type) override |
| void | drop_field (Table_Id table_id, Field_Id field_id) override |
| void | rename_field (Table_Id table_id, Field_Id field_id, const std::string &name) override |
| void | custom (const std::string &name) override |
Protected Member Functions inherited from tutorial::rpc::population::Database | |
| bool | is_valid_record_id_for_city (Record_Id record_id) const |
| bool | is_valid_record_id_for_data (Record_Id record_id) const |
| void | internal_delete_city (Record_Id record_id) |
| void | internal_delete_data (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_data (Record_Id record_id) |
| void | internal_vector_insert_data (Record_Id record_id, size_t size) |
| void | internal_update_data__city_name (Record_Id record_id, const std::string &field_value_of_city_name) |
| void | internal_update_vector_data__city_name (Record_Id record_id, size_t size, const std::string *value) |
| void | internal_update_data__city (Record_Id record_id, id_of_city field_value_of_city) |
| void | internal_update_vector_data__city (Record_Id record_id, size_t size, const id_of_city *value) |
| void | internal_update_data__population (Record_Id record_id, int64_t field_value_of_population) |
| void | internal_update_vector_data__population (Record_Id record_id, size_t size, const int64_t *value) |
Protected Attributes inherited from joedb::Memory_File | |
| std::string | data |
Protected Attributes inherited from tutorial::rpc::population::Database_Writable | |
| joedb::index_t | max_record_id |
| Table_Id | current_table_id = Table_Id{0} |
| bool | upgrading_schema = false |
| joedb::Memory_File | schema_file |
| joedb::Writable_Journal | schema_journal |
Protected Attributes inherited from tutorial::rpc::population::Database | |
| detail::data_of_city | storage_of_city |
| detail::data_of_data | storage_of_data |
Static Protected Attributes inherited from joedb::Abstract_File | |
| static constexpr int64_t | last_position = (1ULL << 63) - 1 |
Definition at line 21 of file Memory_Database.h.
|
inline |
Definition at line 24 of file Memory_Database.h.
|
inline |
Definition at line 28 of file Memory_Database.h.