#include <std_trace_stream.hpp>
Граф наследования:std_trace_stream_t:
Методы append и reverse_replay можно вызывать только после успешного обращения к методам open или create.
Методы is_exists и destroy можно вызывать вне зависимости от того, открыт ли trace-stream или нет.
Открытые члены | |
Реализация унаследованных методов. | |
virtual void | open (const std::string &physic_name, const config_t &config, bool is_read_only) |
virtual void | create (const std::string &physic_name, const config_t &config) |
virtual void | destroy (const std::string &physic_name) |
virtual bool | is_exists (const std::string &physic_name) |
virtual void | append (const trace_stream_item_t &item) |
virtual void | reverse_replay (committer_t &committer, trace_file_number_set_t *used_files=0, trace_file_number_set_t *unused_files=0, std::ostream *verbose_stream=0) |
virtual void | close () |
Защищенные члены | |
virtual std::auto_ptr< impl::chain_ostream_t > | create_chain_ostream () |
в trace-файлах. | |
bool | is_open () const |
Открыт ли trace-stream. | |
const std::string & | physic_name () const |
Получить физическое имя БД с которой происходит работа. | |
const config_t & | config () const |
Получить конфигурацию БД. | |
trace_file_number_set_t & | all_traces () |
Получить множество идентификаторов существующих trace-файлов. | |
Закрытые данные | |
std::string | m_physic_name |
Физическое имя БД с которой происходит работа. | |
config_t | m_config |
Конфигурация БД. | |
trace_file_number_set_t | m_all_traces |
Множество идентификаторов существующих trace-файлов. | |
bool | m_is_open |
Признак того, что поток открыт. | |
bool | m_is_read_only |
Признак того, что поток открыт только для чтения. | |
std::auto_ptr< impl::chain_ostream_t > | m_chain_ostream |
Поток для записи трасировочной информации. |
trace_file_number_set_t & all_traces | ( | ) | [protected] |
Получить множество идентификаторов существующих trace-файлов.
Метод предназначен для предоставления производным классам доступа к информации из данного класса.
void append | ( | const trace_stream_item_t & | item | ) | [virtual] |
Дописать в trace-stream описание очередной транзакции.
Начинает дописывать транзакцию в последний из существующих trace-файлов и автоматически создает столько trace-файлов, сколько нужно для сохранения транзакции.
Замещает trace_stream_t.
void close | ( | ) | [virtual] |
Закрыть trace-stream.
Замещает trace_stream_t.
const config_t & config | ( | ) | const [protected] |
Получить конфигурацию БД.
Метод предназначен для предоставления производным классам доступа к информации из данного класса.
void create | ( | const std::string & | physic_name, | |
const config_t & | config | |||
) | [virtual] |
Создать trace-stream.
Порождает исключение, если уже есть хотя бы один трассировочный файл. В этом случае сначала нужно вызвать метод destroy.
Замещает trace_stream_t.
std::auto_ptr< impl::chain_ostream_t > create_chain_ostream | ( | ) | [protected, virtual] |
в trace-файлах.
Данная реализация возвращает указатель на объект, который дописывает транзакции в конец существующего trace-stream не удаляя существующих trace-файлов.
Переопределяется в last_trx_only_trace_stream_t.
void destroy | ( | const std::string & | physic_name | ) | [virtual] |
bool is_exists | ( | const std::string & | physic_name | ) | [virtual] |
Проверить существование trace-stream.
Замещает trace_stream_t.
bool is_open | ( | ) | const [protected] |
Открыт ли trace-stream.
Метод предназначен для предоставления производным классам доступа к информации из данного класса.
void open | ( | const std::string & | physic_name, | |
const config_t & | config, | |||
bool | is_read_only | |||
) | [virtual] |
Открыть trace-stream.
Если нет ни одного трассировочного файла, то порождается исключение.
Замещает trace_stream_t.
const std::string & physic_name | ( | ) | const [protected] |
Получить физическое имя БД с которой происходит работа.
Метод предназначен для предоставления производным классам доступа к информации из данного класса.
void reverse_replay | ( | committer_t & | committer, | |
trace_file_number_set_t * | used_files = 0 , |
|||
trace_file_number_set_t * | unused_files = 0 , |
|||
std::ostream * | verbose_stream = 0 | |||
) | [virtual] |
Выполнить обратное воспроизведение trace-файлов.
Каждая сформированная страница основного файла передается на фиксацию объекту committer-у.
Обратный просмотр завершается когда обнаруживается, что все страницы основного файла были перезаписаны и в оставшихся trace-файлах находятся уже устаревшие значения.
В used_files возвращаются номера trace-файлов, значения которых были использованны для восстановления значений БД. В unused_files возращаются имена trace-файлов, значения которых полностью устарели.
Замещает trace_stream_t.
trace_file_number_set_t m_all_traces [private] |
std::auto_ptr< impl::chain_ostream_t > m_chain_ostream [private] |
Поток для записи трасировочной информации.
Создается при первом обращении к append().
bool m_is_open [private] |
Признак того, что поток открыт.
Содержит true, если trace-поток успешно открыт и можно вызывать методы append() и reverse_replay.
bool m_is_read_only [private] |
Признак того, что поток открыт только для чтения.
Если содержит значение true, то вызывать метод append() нельзя.
std::string m_physic_name [private] |