Граф наследования:std_page_accessor_t:
Открытые члены | |
std_page_accessor_t (const config_t &config, oess_1::file::file_t &main_file, oess_1::uint_t &main_file_logic_length, cache_t &cache, dirty_page_storage_t &dirty_pages, bool is_read_only) | |
Инициализирующий конструктор. | |
Реализация унаследованных методов. | |
virtual bool | is_exists (oess_1::uint_t page) |
Проверить наличие страницы в основном файле. | |
virtual const oess_1::char_t * | read_access (oess_1::uint_t page) |
Получить доступ к странице для чтения. | |
virtual oess_1::char_t * | write_access (oess_1::uint_t page) |
Получить доступ к странице для записи. | |
Закрытые члены | |
oess_1::uint_t | page_offset (oess_1::uint_t page) const |
Вычислить смещение страницы по ее номеру. | |
oess_1::char_t * | extract_page_value (oess_1::uint_t index, bool is_read_only_access=true) |
Извлечь страницу из хранилища. | |
Закрытые данные | |
const config_t & | m_config |
Конфигурация для хранилища. | |
oess_1::file::file_t & | m_main_file |
Основной файл БД. | |
oess_1::uint_t & | m_main_file_logic_length |
создания новых страниц. | |
cache_t & | m_cache |
Кэш хранилища. | |
dirty_page_storage_t & | m_dirty_pages |
Хранилище грязных страниц. | |
bool | m_is_read_only |
true; если допускается только чтение страниц хранилища. |
std_page_accessor_t | ( | const config_t & | config, | |
oess_1::file::file_t & | main_file, | |||
oess_1::uint_t & | main_file_logic_length, | |||
cache_t & | cache, | |||
dirty_page_storage_t & | dirty_pages, | |||
bool | is_read_only | |||
) |
Инициализирующий конструктор.
config | Конфигурация для хранилища. |
main_file | Основной файл БД. |
main_file_logic_length | Логическая длина основного файла. Будет изменяться по мере создания новых страниц. |
cache | Кэш хранилища. |
dirty_pages | Хранилище грязных страниц. |
is_read_only | true, если допускается только чтение страниц хранилища. |
bool is_exists | ( | oess_1::uint_t | page | ) | [virtual] |
Проверить наличие страницы в основном файле.
Если страницы нет в основном файле, то доступ к ее содержимому можно получить только через метод write_access().
Замещает page_accessor_t.
const oess_1::char_t * read_access | ( | oess_1::uint_t | page | ) | [virtual] |
Получить доступ к странице для чтения.
oess_1::logic_ex_t,если | страницы в основном файле не существует. |
Замещает page_accessor_t.
oess_1::char_t * write_access | ( | oess_1::uint_t | page | ) | [virtual] |
Получить доступ к странице для записи.
Если страницы в основном файле не существовало, то она создается. После этого страница будет считаться существующей, но ее значение будет присутствовать только в кэше (либо в хранилище грязных страниц) до фиксации транзакции.
oess_1::logic_ex_t,если | режим работы хранилища не допускает изменения страниц хранилища (например, хранилище открыто в режиме read-only или нет начатых транзакций). |
Замещает page_accessor_t.