Класс db_t

#include <db.hpp>

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

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

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

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

sample/app_recovery/main.cpp, sample/db_copy_content/main.cpp и sample/file_archive_2/main.cpp.


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

 db_t (oess_1::db::site::abstract_connector_t *connector)
virtual void attach (const std::string &logic_name)=0
 Подключиться к указанной БД на стороне сервера.
virtual void detach ()=0
 Отключиться от БД.
virtual oess_1::db::site::abstract_connector_tquery_connector ()
virtual const oess_1::db::site::abstract_connector_tquery_connector () const
Средства для работы с разделами.
virtual void slice_create (const std::string &name)=0
 Создать раздел в БД.
virtual void slice_destroy (const std::string &name)=0
 Удалить раздел в БД.
virtual bool slice_is_exists (const std::string &name)=0
 Проверить существование раздела в БД.
virtual std::set< std::string > slice_names ()=0
 Получить имена существующих разделов в БД.
Средства работы с сущностями.
virtual oess_1::ent_id_t ent_create (const std::string &slice_name, const oess_1::stdsn::serializable_t &ent)=0
 Создать сущность.
virtual void ent_destroy (const oess_1::ent_id_t &ent_id)=0
 Удалить сущность.
virtual void ent_destroy_all (const std::string &slice_name)=0
 Удалить все сущности в указанном разделе.
virtual void ent_load (const oess_1::ent_id_t &ent_id, oess_1::stdsn::serializable_t &ent)=0
 Загрузить сущность.
virtual void ent_update (const oess_1::ent_id_t &ent_id, const oess_1::stdsn::serializable_t &ent)=0
 Изменить значение сущности.
virtual oess_1::ent_id_t ent_find_next (const std::string &slice_name, const oess_1::ent_id_t &ent_id)=0
 сущности.
Средства для работы с raw-образами сущностей.
Данные средства предназначены, в первую очередь, для предоставления возможности экспорта/импорта содержимого БД.

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)=0
 Создать сущность.
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=static_cast< oess_1::uint_t >(-1))=0
 Загрузить двоичный образ сущности.
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)=0
 Изменить значение сущности.

Защищенные члены

virtual void transaction_begin ()=0
 Начать транзакцию.
virtual void transaction_commit ()=0
 Подтвердить транзакцию.
virtual void transaction_rollback ()=0
 Откатить транзакцию.

Закрытые члены

 db_t (const db_t &)
db_toperator= (const db_t &)

Закрытые данные

auto_ptr_3::obj_ptr_t< oess_1::db::site::abstract_connector_tm_connector_ptr
 Объект, который осуществляет связь с сервером БД.

Друзья

class transaction_t


Конструктор(ы)

db_t ( oess_1::db::site::abstract_connector_t connector  ) 

Аргументы:
connector  Указатель на динамически-созданный объект, который будет автоматически уничтожен в деструкторе посредством delete.


Методы

virtual void attach ( const std::string &  logic_name  )  [pure virtual]

Подключиться к указанной БД на стороне сервера.

Аргументы:
logic_name  Логическое имя БД.

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

virtual oess_1::ent_id_t ent_create ( const std::string &  slice_name,
const oess_1::stdsn::serializable_t ent 
) [pure virtual]

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

Возвращает:
идентификатор созданной сущности.
Аргументы:
slice_name  Раздел, в котором нужно создавать сущность.
ent  Значение сущности.

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

virtual void ent_destroy ( const oess_1::ent_id_t ent_id  )  [pure virtual]

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

Аргументы:
ent_id  Идентификатор удаляемой сущности.

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

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

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

Начиная с:
v.1.4.0
Аргументы:
slice_name  Имя раздела, из которого нужно удалить все сущности.

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

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

сущности.

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

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

Аргументы:
slice_name  Имя раздела, в котором осуществляется поиск.
ent_id  Идентификатор текущей сущности.

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

virtual void ent_load ( const oess_1::ent_id_t ent_id,
oess_1::stdsn::serializable_t ent 
) [pure virtual]

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

Заметки:
Объект ent должен быть того же типа, что и сущность в БД.
Аргументы:
ent_id  Идентификатор загружаемой сущности.
ent  Приемник значения сущности.

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

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 
) [pure virtual]

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

Начиная с:
v.1.4.0
Возвращает:
идентификатор созданной сущности.
Аргументы:
slice_name  Раздел, в котором нужно создавать сущность.
image  Значение сущности.
image_size  Размер значения сущности в байтах.

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

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 = static_cast< oess_1::uint_t >(-1) 
) [pure virtual]

Загрузить двоичный образ сущности.

Начиная с:
v.1.4.0
Возвращает:
размер двоичного образа сущности.
Аргументы:
ent_id  Идентификатор загружаемой сущности.
to  Приемник значения сущности.
length_limit  Количество байт из образа, которые нужно загрузить в приемник. Если имеет значение по-умолчанию, то в приемник помещается весь образ сущности. Если содержит 0, то метод ничего не копирует, а только возвращает размер двоичного образа объекта.

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

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 
) [pure virtual]

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

Начиная с:
v.1.4.0
Аргументы:
ent_id  Идентификатор изменяемой сущности.
image  Значение сущности.
image_size  Размер значения сущности в байтах.

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

virtual void ent_update ( const oess_1::ent_id_t ent_id,
const oess_1::stdsn::serializable_t ent 
) [pure virtual]

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

Аргументы:
ent_id  Идентификатор изменяемой сущности.
ent  Новое значение сущности.

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

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

Создать раздел в БД.

Начиная с:
v.1.1.0
Попытка создания уже существующего раздела ошибкой не считается. Содержимое раздела в этом случае не удаляется.
Аргументы:
name  Имя создаваемого раздела.

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

Примеры:
sample/file_archive_2/main.cpp.

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

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

Начиная с:
v.1.4.0
Аргументы:
name  Имя удаляемого раздела.

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

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

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

Начиная с:
v.1.4.0
Возвращает:
true, если раздел существует.
Аргументы:
name  Имя проверяемого раздела.

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

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

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

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

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

Примеры:
sample/db_copy_content/main.cpp.

virtual void transaction_begin (  )  [protected, pure virtual]

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

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

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

virtual void transaction_commit (  )  [protected, pure virtual]

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

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

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

virtual void transaction_rollback (  )  [protected, pure virtual]

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

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

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


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