#include <std_db.hpp>
Граф наследования:std_db_t:
Открытые члены | |
std_db_t (oess_1::db::site::abstract_connector_t *connector) | |
Инициализирующий конструктор. | |
Реализация унаследованных методов | |
virtual void | attach (const std::string &logic_name) |
Подключиться к указанной БД на стороне сервера. | |
virtual void | detach () |
Отключиться от БД. | |
virtual void | slice_create (const std::string &name) |
Создать раздел в БД. | |
virtual void | slice_destroy (const std::string &name) |
Удалить раздел в БД. | |
virtual bool | slice_is_exists (const std::string &name) |
Проверить существование раздела в БД. | |
virtual std::set< std::string > | slice_names () |
Получить имена существующих разделов в БД. | |
virtual oess_1::ent_id_t | ent_create (const std::string &slice_name, const oess_1::stdsn::serializable_t &ent) |
Создать сущность. | |
virtual void | ent_destroy (const oess_1::ent_id_t &ent_id) |
Удалить сущность. | |
virtual void | ent_destroy_all (const std::string &slice_name) |
Удалить все сущности в указанном разделе. | |
virtual void | ent_load (const oess_1::ent_id_t &ent_id, oess_1::stdsn::serializable_t &ent) |
Загрузить сущность. | |
virtual void | ent_update (const oess_1::ent_id_t &ent_id, const oess_1::stdsn::serializable_t &ent) |
Изменить значение сущности. | |
virtual oess_1::ent_id_t | ent_find_next (const std::string &slice_name, const oess_1::ent_id_t &ent_id) |
сущности. | |
virtual oess_1::ent_id_t | ent_raw_create (const std::string &slice_name, oess_1::io::ibinstream_t &image, oess_1::uint_t image_size) |
Создать сущность. | |
virtual oess_1::uint_t | ent_raw_load (const oess_1::ent_id_t &ent_id, oess_1::io::obinstream_t &to, oess_1::uint_t length_limit) |
Загрузить двоичный образ сущности. | |
virtual void | ent_raw_update (const oess_1::ent_id_t &ent_id, oess_1::io::ibinstream_t &image, oess_1::uint_t image_size) |
Изменить значение сущности. | |
Защищенные члены | |
Реализация унаследованных методов для работы с транзакциями | |
virtual void | transaction_begin () |
Начать транзакцию. | |
virtual void | transaction_commit () |
Подтвердить транзакцию. | |
virtual void | transaction_rollback () |
Откатить транзакцию. | |
Закрытые члены | |
void | cleanup () |
Очищает все ресурсы без выпуска наружу исключений. | |
void | must_be_attached () const |
Порождает исключение, если нет подключения к БД. | |
oess_1::ent_id_t | do_ent_create_actions (const std::string &slice_name, const ent_packer_base_t &packer) |
Выполнение операций ent_create и ent_raw_create. | |
void | do_ent_load_actions (const oess_1::ent_id_t &ent, ent_unpacker_base_t &packer) |
Выполнение операций ent_load и ent_raw_load. | |
void | do_ent_update_actions (const oess_1::ent_id_t &ent, const ent_packer_base_t &packer) |
Выполнение операций ent_update и ent_raw_update. | |
void | transmit (oess_1::db::site::impl::request_t *req, oess_1::db::site::impl::resp_wrapper_t &resp_wrapper, oess_1::uint_t awaiting_resp_id) |
Передает запрос на сервер через объект-коннектор. | |
Закрытые данные | |
bool | m_is_attached |
std::string | m_logic_name |
Логическое имя БД к которой мы подключены. |
std_db_t | ( | oess_1::db::site::abstract_connector_t * | connector | ) |
Инициализирующий конструктор.
connector | Объект для связи с сервером БД. |
oess_1::ent_id_t do_ent_create_actions | ( | const std::string & | slice_name, | |
const ent_packer_base_t & | packer | |||
) | [private] |
Выполнение операций ent_create и ent_raw_create.
slice_name | Имя раздела, в котором создается сущность. |
packer | Объект, который знает, как упаковать значение сущности. |
void do_ent_load_actions | ( | const oess_1::ent_id_t & | ent, | |
ent_unpacker_base_t & | packer | |||
) | [private] |
Выполнение операций ent_load и ent_raw_load.
ent | Идентификатор загружаемой сущности. |
packer | Объект, который знает, как распаковать значение сущности. |
void do_ent_update_actions | ( | const oess_1::ent_id_t & | ent, | |
const ent_packer_base_t & | packer | |||
) | [private] |
Выполнение операций ent_update и ent_raw_update.
ent | Идентификатор обновляемой сущности. |
packer | Объект, который знает, как упаковать значение сущности. |
oess_1::ent_id_t ent_create | ( | const std::string & | slice_name, | |
const oess_1::stdsn::serializable_t & | ent | |||
) | [virtual] |
void ent_destroy_all | ( | const std::string & | slice_name | ) | [virtual] |
oess_1::ent_id_t ent_find_next | ( | const std::string & | slice_name, | |
const oess_1::ent_id_t & | ent_id | |||
) | [virtual] |
сущности.
Для поиска первой существующей сущности в разделе необходимо указать имя раздела и ent_id, эквивалентный NULL.
Если ent_id не равен NULL, то считается, что поиск продолжается и имя раздела игнорируется. Если существующих сущностей больше нет, то возвращается эквивалентное NULL значение.
Замещает db_t.
void ent_load | ( | const oess_1::ent_id_t & | ent_id, | |
oess_1::stdsn::serializable_t & | ent | |||
) | [virtual] |
Загрузить сущность.
Замещает db_t.
oess_1::ent_id_t ent_raw_create | ( | const std::string & | slice_name, | |
oess_1::io::ibinstream_t & | image, | |||
oess_1::uint_t | image_size | |||
) | [virtual] |
oess_1::uint_t ent_raw_load | ( | const oess_1::ent_id_t & | ent_id, | |
oess_1::io::obinstream_t & | to, | |||
oess_1::uint_t | length_limit | |||
) | [virtual] |
Загрузить двоичный образ сущности.
Замещает db_t.
void ent_raw_update | ( | const oess_1::ent_id_t & | ent_id, | |
oess_1::io::ibinstream_t & | image, | |||
oess_1::uint_t | image_size | |||
) | [virtual] |
void slice_create | ( | const std::string & | name | ) | [virtual] |
Создать раздел в БД.
Замещает db_t.
void slice_destroy | ( | const std::string & | name | ) | [virtual] |
bool slice_is_exists | ( | const std::string & | name | ) | [virtual] |
Проверить существование раздела в БД.
Замещает db_t.
std::set< std::string > slice_names | ( | ) | [virtual] |
void transaction_begin | ( | ) | [protected, virtual] |
void transaction_commit | ( | ) | [protected, virtual] |
void transaction_rollback | ( | ) | [protected, virtual] |
void transmit | ( | oess_1::db::site::impl::request_t * | req, | |
oess_1::db::site::impl::resp_wrapper_t & | resp_wrapper, | |||
oess_1::uint_t | awaiting_resp_id | |||
) | [private] |
Передает запрос на сервер через объект-коннектор.
Контролирует код ошибки в ответе -- если ответ пришел с ошибкой, то порождается исключение.
req | Указатель на динамически-созданный объект! |
bool m_is_attached [private] |
Содержит true, если подключение к серверу выполнено.
std::string m_logic_name [private] |
Логическое имя БД к которой мы подключены.
Определено только, если есть подключение.