Класс db_content_t

#include <db_content.hpp>

Граф наследования:db_content_t:

std_db_content_t Полный список членов класса

Подробное описание

Интерфейс объекта, отвечающего за выполнение действий над содержимым БД.


Открытые члены

virtual void open (const std::string &name, const oess_1::db::storage::config_t &config, bool is_read_only, bool is_auto_repair_enabled)=0
 Открыть указанную БД.
virtual void client_attach (const std::string &client_id)=0
 Подключить еще одного клиента к БД.
virtual void client_detach (const std::string &client_id)=0
 Отключить указанного агента от БД.
virtual oess_1::uint_t client_count () const =0
 Определить количество подключенных клиентов.
virtual void slice_create (const std::string &client_id, const std::string &name)=0
 Создание раздела в БД.
virtual void slice_destroy (const std::string &client_id, const std::string &name)=0
 Удаление раздела в БД.
virtual bool slice_is_exists (const std::string &client_id, const std::string &name)=0
 Проверка существования раздела в БД.
virtual std::set< std::string > slice_names (const std::string &client_id)=0
 Получение имен всех существующих разделов в БД.
virtual oess_1::ent_id_t ent_create (const std::string &client_id, const std::string &slice_name, oess_1::io::istream_t &ent_value, oess_1::uint_t ent_size)=0
 Создать сущность.
virtual void ent_destroy (const std::string &client_id, const oess_1::ent_id_t &ent_id)=0
 Удалить сущность.
virtual void ent_destroy_all (const std::string &client_id, const std::string &slice_name)=0
 Удалить все сущности в указанном разделе.
virtual void ent_load (const std::string &client_id, const oess_1::ent_id_t &ent_id, oess_1::io::ostream_t &ent_value)=0
 Загрузить сущность.
virtual void ent_update (const std::string &client_id, const oess_1::ent_id_t &ent_id, oess_1::io::istream_t &ent_value, oess_1::uint_t ent_size)=0
 Изменить значение сущности.
virtual oess_1::ent_id_t ent_find_next (const std::string &client_id, const std::string &slice_name, const oess_1::ent_id_t &ent_id)=0
 Найти следующую существующую сущность.
virtual void transaction_begin (const std::string &client_id)=0
 Начать транзакцию.
virtual void transaction_commit (const std::string &client_id)=0
 Подтвердить транзакцию.
virtual void transaction_rollback (const std::string &client_id)=0
 Откатить транзакцию.

Открытые статические члены

static void db_create (const std::string &name, const oess_1::db::storage::config_t &config)
 Создание новой пустой базы данных.
static void db_destroy (const std::string &name)
 Физическое уничтожение указанной базы данных.
static bool db_is_exists (const std::string &name)
 Проверка существования указанной базы данных.


Методы

virtual void client_detach ( const std::string &  client_id  )  [pure virtual]

Отключить указанного агента от БД.

Если такой клиент к БД не подключен, то это ошибкой не считается.

Если клиент проводил транзакцию, то транзакция автоматически откатывается.

Замещается в std_db_content_t.

void db_create ( const std::string &  name,
const oess_1::db::storage::config_t config 
) [static]

Создание новой пустой базы данных.

В базе нет ни одного раздела.

Аргументы:
name  Физическое имя создаваемой БД.
config  Конфигурация для создаваемой БД.

virtual oess_1::ent_id_t ent_create ( const std::string &  client_id,
const std::string &  slice_name,
oess_1::io::istream_t ent_value,
oess_1::uint_t  ent_size 
) [pure virtual]

Создать сущность.

Аргументы:
client_id  Клиент, который хочет выполнить эту операцию.
slice_name  Раздел, в котором необходимо создать сущность.
ent_value  Сама сущность.
ent_size  Размер сущности.

Замещается в std_db_content_t.

virtual void ent_destroy ( const std::string &  client_id,
const oess_1::ent_id_t ent_id 
) [pure virtual]

Удалить сущность.

Аргументы:
client_id  Клиент, который хочет выполнить эту операцию.
ent_id  Идентификатор сущности.

Замещается в std_db_content_t.

virtual void ent_destroy_all ( const std::string &  client_id,
const std::string &  slice_name 
) [pure virtual]

Удалить все сущности в указанном разделе.

Аргументы:
client_id  Клиент, который хочет выполнить эту операцию.
slice_name  Имя раздела.

Замещается в std_db_content_t.

virtual oess_1::ent_id_t ent_find_next ( const std::string &  client_id,
const std::string &  slice_name,
const oess_1::ent_id_t ent_id 
) [pure virtual]

Найти следующую существующую сущность.

Для поиска первой существующей сущности в разделе необходимо указать имя раздела и ent_id, эквивалентный NULL. Если ent_id не равен NULL, то считается, что поиск продолжается и имя раздела игнорируется. Если существующих сущностей больше нет, то возвращается эквивалентное NULL значение.

Аргументы:
client_id  Клиент, который хочет выполнить эту операцию.
slice_name  Название раздела.
ent_id  Идентификатор сущности.

Замещается в std_db_content_t.

virtual void ent_load ( const std::string &  client_id,
const oess_1::ent_id_t ent_id,
oess_1::io::ostream_t ent_value 
) [pure virtual]

Загрузить сущность.

Аргументы:
client_id  Клиент, который хочет выполнить эту операцию.
ent_id  Идентификатор сущности.
ent_value  Приемник упакованного значения сущности.

Замещается в std_db_content_t.

virtual void ent_update ( const std::string &  client_id,
const oess_1::ent_id_t ent_id,
oess_1::io::istream_t ent_value,
oess_1::uint_t  ent_size 
) [pure virtual]

Изменить значение сущности.

Аргументы:
client_id  Клиент, который хочет выполнить эту операцию.
ent_id  Идентификатор сущности.
ent_value  Упакованное значение сущности.
ent_size  Размер сущности в байтах.

Замещается в std_db_content_t.

virtual void open ( const std::string &  name,
const oess_1::db::storage::config_t config,
bool  is_read_only,
bool  is_auto_repair_enabled 
) [pure virtual]

Открыть указанную БД.

Аргументы:
name  Физическое имя открываемой БД.
config  Конфигурация для открываемой БД.
is_read_only  true, если БД открывается в режиме read-only.
is_auto_repair_enabled  true, если поврежденная БД должна быть восстановлена автоматически. Игнорируется, если БД открывается в режиме read-only.

Замещается в std_db_content_t.

virtual void slice_create ( const std::string &  client_id,
const std::string &  name 
) [pure virtual]

Создание раздела в БД.

Аргументы:
client_id  Клиент, который хочет выполнить эту операцию.
name  Имя создаваемого раздела.

Замещается в std_db_content_t.

virtual void slice_destroy ( const std::string &  client_id,
const std::string &  name 
) [pure virtual]

Удаление раздела в БД.

Начиная с:
v.1.4.0
Аргументы:
client_id  Клиент, который хочет выполнить эту операцию.
name  Имя удаляемого раздела.

Замещается в std_db_content_t.

virtual bool slice_is_exists ( const std::string &  client_id,
const std::string &  name 
) [pure virtual]

Проверка существования раздела в БД.

Начиная с:
v.1.4.0
Возвращает:
true, если раздел существует.
Аргументы:
client_id  Клиент, который хочет выполнить эту операцию.
name  Имя проверяемого раздела.

Замещается в std_db_content_t.

virtual std::set< std::string > slice_names ( const std::string &  client_id  )  [pure virtual]

Получение имен всех существующих разделов в БД.

Начиная с:
v.1.4.0
Аргументы:
client_id  Клиент, который хочет выполнить эту операцию.

Замещается в std_db_content_t.

virtual void transaction_begin ( const std::string &  client_id  )  [pure virtual]

Начать транзакцию.

Начиная с:
v.1.1.0

Замещается в std_db_content_t.

virtual void transaction_commit ( const std::string &  client_id  )  [pure virtual]

Подтвердить транзакцию.

Начиная с:
v.1.1.0

Замещается в std_db_content_t.

virtual void transaction_rollback ( const std::string &  client_id  )  [pure virtual]

Откатить транзакцию.

Начиная с:
v.1.1.0

Замещается в std_db_content_t.


Объявления и описания членов классов находятся в файлах:
Документация по ObjESSty. Последние изменения: Fri Oct 13 18:35:38 2006. Создано системой  doxygen 1.4.7
Hosted by uCoz