1 #ifndef STORAGE_FILEMANAGER_PRIVATE_H
2 #define STORAGE_FILEMANAGER_PRIVATE_H
25 constexpr
size_t MaxFileSize = (size_t) 64 * 1024 * 1024 * 1024;
55 static_assert(
FileIdBits <= 19,
"we support at most 2^19 files at this time");
88 #define DataFileNameLength 3
#define DataFileNameLength
The length of the file name of main data files.
Definition: FileManager_private.h:88
constexpr int FileIdBits
Definition: FileManager.h:105
constexpr PageNumber FM_META_PID
The FM meta page is always the first page in the file.
Definition: FileManager_private.h:16
constexpr uint64_t MaxNumDataFiles
Maximum number of data files.
Definition: FileManager_private.h:31
constexpr PageNumber PageNumberGetDataFilePageId(PageNumber pid)
Definition: FileManager_private.h:73
constexpr PageNumber DataFileIdAndPageIdGetPageNumber(uint64_t fsfileid, PageNumber fspid)
Definition: FileManager_private.h:78
uint32_t FileId
The file ID.
Definition: tdb_base.h:221
constexpr PageNumber MaxPageNumber
The maximum valid page number.
Definition: tdb_base.h:247
uint32_t PageNumber
Definition: tdb_base.h:213
constexpr FileId FileIdGetDir2Offset(FileId fid)
Definition: FileManager_private.h:63
constexpr PageNumber MaxNumPagesPerFile
Maximum number of pages in a single data file.
Definition: FileManager_private.h:28
constexpr PageNumber RESERVED_PID
An invalid page number reserved for file manager internal use.
Definition: tdb_base.h:242
constexpr PageNumber PENDING_CREATION_PID
Definition: FileManager_private.h:9
constexpr size_t MaxFileSize
Maximum size of a single data file.
Definition: FileManager_private.h:25
constexpr uint64_t DBFILE_MAGIC
Definition: FileManager_private.h:8
constexpr FileId FileIdGetDir1Offset(FileId fid)
Definition: FileManager_private.h:58
constexpr PageNumber PageGroupSize
Size of allocation in pages.
Definition: FileManager_private.h:19
constexpr PageNumber INVALID_PID
The invalid page number.
Definition: tdb_base.h:235
constexpr uint64_t PageNumberGetDataFileId(PageNumber pid)
Definition: FileManager_private.h:68
Definition: FileManager_private.h:99
MetaPageHeaderData m_ph
Definition: FileManager_private.h:100
atomic< FileId > m_last_free_fid
m_last_free_fid serves as a hint to locate the last allocated free file id.
Definition: FileManager_private.h:112
uint64_t m_magic
Definition: FileManager_private.h:101
FreePageList m_fpl
Definition: FileManager_private.h:103
PageNumber m_fdir1_pid
Definition: FileManager_private.h:102
Definition: FileManager_private.h:115
MetaPageHeaderData m_ph
Definition: FileManager_private.h:116
atomic< PageNumber > m_pid[1023]
Definition: FileManager_private.h:117
Definition: FileManager_private.h:91
atomic< PageNumber > m_next_fp_in_last_pg
Definition: FileManager_private.h:92
atomic< PageNumber > m_last_pg
Definition: FileManager_private.h:93
atomic< PageNumber > m_fp_list
Definition: FileManager_private.h:96
Definition: FileManager_private.h:121
PageHeaderData m_ph
Definition: FileManager_private.h:122
PageNumber m_first_pid
The first page ID of this file.
Definition: FileManager_private.h:128
atomic< PageNumber > m_last_pid
The last page ID of this file.
Definition: FileManager_private.h:136
FreePageList m_fpl
The free page list of this file.
Definition: FileManager_private.h:139
constexpr const size_t PAGE_SIZE
Definition: tdb_base.h:159