Пространство имен oess_1::db::storage::trx


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

Восстановочная и трасировочная информация для хранилища.

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


Классы

class  std_file_committer_t
 Реализация committer_t, которая записывает все восстановленые страницы БД в новый файл. Подробнее...
class  unclear_file_committer_t
 Реализация committer_t, которая расчитана на восстановление только последней транзакции. Подробнее...
class  snapshot_file_committer_t
 Реализация committer_t, которая предназначена для формирования snapshot-ов. Подробнее...
class  std_snapshot_collection_t
 Стандартная реализация интерфейса snapshot_collection_t. Подробнее...
class  std_trace_stream_t
 Стандартная реализация интерфейса trace_stream_t. Подробнее...
class  last_trx_only_trace_stream_t
 Реализация интерфейса trace_stream_t для режима сохранения в trace-stream только последней транзакции. Подробнее...
class  pseudo_trace_stream_t
 Реализация интерфейса trace_stream_t для режима, в котором восстановочная информация не сохраняется. Подробнее...
class  delta_info_t
 Один элемент описания изменения страницы. Подробнее...
class  delta_info_shptr_t
 Умный указатель на delta_info_t. Подробнее...
class  page_info_t
 Значение одной страницы основного файла. Подробнее...
class  trace_stream_item_t
 Описание транзакции для trace-потока. Подробнее...
class  image_header_t
 Заголовок образа транзакции в trace-файле. Подробнее...
class  snapshot_collection_t
 Интерфейс класса для работы с коллекций snapshot-ов БД. Подробнее...
class  committer_t
 Тип объекта, который получает восстановленные из trace-stream значения страниц основного файла для сохранения их в новый основной файл. Подробнее...
class  trace_stream_t
 Интерфейс потока трассировочной и восстановочной информации. Подробнее...
class  page_delta_calculator_t
 Функтор, который вычисляет изменения на одной странице. Подробнее...

Пространства имен

namespace  impl
 Детали реализации.

Определения типов

typedef std::list< delta_info_shptr_tdelta_info_list_t
 Тип списка элементов описания изменений страницы.
typedef std::list< page_info_tpage_info_list_t
 Список значений страниц основного файла.
typedef oess_1::uint_t trace_file_number_t
 Тип номера одного trace-файла.
typedef std::set< trace_file_number_ttrace_file_number_set_t
 Тип множества номеров trace-файлов.

Функции

static void split_physic_name (const std::string &physic_name, std::string &path_name, std::string &db_name)
static void process_found_files (ACE_Dirent_Selector &selector, const std::string &physic_name, const std::string &extension, trace_file_number_set_t &numbers)
trace_file_number_set_t find_all_specified_files (const std::string &physic_name, const std::string &extension)
trace_file_number_set_t find_all_trace_files (const std::string &physic_name)
trace_file_number_set_t find_all_snapshot_files (const std::string &physic_name)
 make_item (dirty_page_storage_t &storage, const config_t &config, trace_stream_item_t &receiver)
 Выполнить формирование описания транзакции для записи в trace-stream.
 create_std_trace_stream (trace_mode_t trace_mode)
 Создать штатную реализацию интерфейса trace_stream_t.
 create_std_file_committer (const std::string &physic_name, trace_mode_t trace_mode)
 create_std_snapshot_collection (const std::string &physic_name)
 Получить стандартную реализацию std_snapshot_collection_t.
 trace_file_extension ()
 Получить стандартное расширение, которое используется для trace-файлов.
 create_trace_file_name (const std::string &physic_name, trace_file_number_t trace_file_number)
 Создать имя указанного trace-файла для указанной БД.
 snapshot_file_extension ()
 Получить стандартное расширение, которое используется для snapshot-файлов.
 create_snapshot_file_name (const std::string &physic_name, trace_file_number_t snapshot_file_number)
 Создать имя указанного snapshot-файла для указанной БД.
oess_1::uint_t operator+ (oess_1::uint_t a, const delta_info_shptr_t &b)
oess_1::uint_t operator+ (oess_1::uint_t a, const page_info_t &b)


Типы

typedef std::list< delta_info_shptr_t > delta_info_list_t

Тип списка элементов описания изменений страницы.

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

typedef std::list< page_info_t > page_info_list_t

Список значений страниц основного файла.

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

typedef oess_1::uint_t trace_file_number_t

Тип номера одного trace-файла.

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

typedef std::set< trace_file_number_t > trace_file_number_set_t

Тип множества номеров trace-файлов.

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


Функции

static void oess_1::db::storage::trx::split_physic_name ( const std::string &  physic_name,
std::string &  path_name,
std::string &  db_name 
) [static]

Разбить указанное имя на физическое имя БД и имя каталога.

Аргументы:
physic_name  Исходное имя, которое, возможно, содержит имя каталога.
path_name  Приемник для имени каталога.
db_name  Приемник для имени БД.

static void oess_1::db::storage::trx::process_found_files ( ACE_Dirent_Selector &  selector,
const std::string &  physic_name,
const std::string &  extension,
trace_file_number_set_t numbers 
) [static]

Выполняет выборку имен trace- или snapshot-файлов из всех найденых имен файлов и формируем множество номеров trace- или snapshot-файлов.

Аргументы:
selector  Найденые имена.
physic_name  Физическое имя БД, которой должны принадлежать найденные файлы.
extension  Расширение, которое должны иметь искомые файлы.
numbers  Приемник номеров trace-файлов.

trace_file_number_set_t oess_1::db::storage::trx::find_all_specified_files ( const std::string &  physic_name,
const std::string &  extension 
)

Найти номера всех файлов с указанным расширением, которые принадлежат указанной БД.

trace_file_number_set_t find_all_trace_files ( const std::string &  physic_name  ) 

Найти все trace-файлы для указанного хранилища и возвратить множество их номеров.

Аргументы:
physic_name  Имя хранилища, для которого должны быть найдены trace-файлы.

trace_file_number_set_t find_all_snapshot_files ( const std::string &  physic_name  ) 

Найти все snapshot-файлы для указанного хранилища и возвратить множество их номеров.

Аргументы:
physic_name  Имя хранилища, для которого должны быть найдены snapshot-файлы.

make_item ( dirty_page_storage_t &  storage,
const config_t &  config,
trace_stream_item_t &  receiver 
)

Выполнить формирование описания транзакции для записи в trace-stream.

Начиная с:
v.1.4.0
Анализирует все страницы в storage. Формирует элемент готовый для записи в trace-stream.
Аргументы:
storage  Все грязные страницы транзакции.
config  Конфигурация БД.
receiver  Приемник для описания транзакции. Изменяется по ходу выполнения операции. Поэтому может содержать некорректное значение при возникновении исключений.

create_std_trace_stream ( trace_mode_t  trace_mode  ) 

Создать штатную реализацию интерфейса trace_stream_t.

Начиная с:
v.1.4.0
Создается реализация, необходимая для указанного режима сохранения восстановочной информации.

Возвращает:
Указатель на динамически созданный объект, ответственность за уничтожение которого лежит на вызывающей стороне.
Аргументы:
trace_mode  Желаемый режим сохранения восстановочной информации.

create_std_file_committer ( const std::string &  physic_name,
trace_mode_t  trace_mode 
)

Начиная с:
v.1.4.0 Создать штатную реализацию интерфейса committer_t.
Возвращает:
Указатель на динамически созданный объект, ответственность за уничтожение которого лежит на вызывающей стороне.
Создается реализация, необходимая для указанного режима сохранения восстановочной информации.

Для режима oess_1::db::storage::trace_all
Штатная реализация committer_t создает файл с именем <physic_name>.replay в который записывает содержимое восстановленой БД. Если восстановление завершается успешно (у коммитера вызывается метод finalize()), то переименовывает этот файл в <physic_name>.oess.dat.
Для режима oess_1::db::storage::trace_last
Штатная реализация committer_t открывает "грязный" файл хранилища. В методе initialize "грязный" файл, при необходимости, доводиться до нужного размера. В методе finalize (т.е. если воспроизведение trace-файла прошло успешно), переименовывает "грязный" файл в основной файл БД.
Для режима oess_1::db::storage::trace_no
В этом режиме восстановление БД невозможно, поэтому вместо возвращения объекта-committer-а порождается исключение.
Аргументы:
physic_name  Имя физической БД, для которой выполняется восстановление.
trace_mode  Режим сохранения восстановочной информации для БД.

create_std_snapshot_collection ( const std::string &  physic_name  ) 

Получить стандартную реализацию std_snapshot_collection_t.

Начиная с:
v.1.4.0
Аргументы:
physic_name  Физическое имя БД для которой нужно искать snapshot-ы.

trace_file_extension (  ) 

Получить стандартное расширение, которое используется для trace-файлов.

Начиная с:
v.1.4.0
Возвращает:
значение ".trace".

create_trace_file_name ( const std::string &  physic_name,
trace_file_number_t  trace_file_number 
)

Создать имя указанного trace-файла для указанной БД.

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

snapshot_file_extension (  ) 

Получить стандартное расширение, которое используется для snapshot-файлов.

Начиная с:
v.1.4.0
Возвращает:
значение ".snapshot".

create_snapshot_file_name ( const std::string &  physic_name,
trace_file_number_t  snapshot_file_number 
)

Создать имя указанного snapshot-файла для указанной БД.

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


Документация по ObjESSty. Последние изменения: Fri Oct 13 18:35:39 2006. Создано системой  doxygen 1.4.7
Hosted by uCoz