Класс std_trace_stream_t

#include <std_trace_stream.hpp>

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

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

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

Стандартная реализация интерфейса trace_stream_t.

Начиная с:
v.1.4.0
Данная реализация предназначена для поддержки режима trace_all.

Методы 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_tcreate_chain_ostream ()
 в trace-файлах.
bool is_open () const
 Открыт ли trace-stream.
const std::string & physic_name () const
 Получить физическое имя БД с которой происходит работа.
const config_tconfig () const
 Получить конфигурацию БД.
trace_file_number_set_tall_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_tm_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]

Удалить trace-stream.

Удаляет все найденые трассировочные файлы.

Замещает trace_stream_t.

bool is_exists ( const std::string &  physic_name  )  [virtual]

Проверить существование trace-stream.

Возвращает:
true, если существует хотя бы один trace-файл.

Замещает 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]

Множество идентификаторов существующих trace-файлов.

Первоначально заполняется в методах open(), create(). Далее дополняется в методе append().

std::auto_ptr< impl::chain_ostream_t > m_chain_ostream [private]

Поток для записи трасировочной информации.

Создается при первом обращении к append().

config_t m_config [private]

Конфигурация БД.

Содержит актуальное значение только после того, как успешно завершаться методы open() или create().

bool m_is_open [private]

Признак того, что поток открыт.

Содержит true, если trace-поток успешно открыт и можно вызывать методы append() и reverse_replay.

bool m_is_read_only [private]

Признак того, что поток открыт только для чтения.

Если содержит значение true, то вызывать метод append() нельзя.

std::string m_physic_name [private]

Физическое имя БД с которой происходит работа.

Содержит актуальное значение только после того, как успешно завершатся методы open() или create().


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