taco-db  0.1.0
Classes | Namespaces | Macros | Functions | Variables
FileManager_private.h File Reference
#include "FileManager.h"

Go to the source code of this file.

Classes

struct  taco::MetaPageHeaderData
 This is a truncated and private version of PageHeaderData. More...
 
struct  taco::FreePageList
 
struct  taco::FMMetaPageData
 
struct  taco::FileDirectoryData
 
struct  taco::RegularFileMetaPageData
 

Namespaces

 taco
 

Macros

#define DataFileNameLength   3
 The length of the file name of main data files. More...
 

Functions

constexpr FileId taco::FileIdGetDir1Offset (FileId fid)
 
constexpr FileId taco::FileIdGetDir2Offset (FileId fid)
 
constexpr uint64_t taco::PageNumberGetDataFileId (PageNumber pid)
 
constexpr PageNumber taco::PageNumberGetDataFilePageId (PageNumber pid)
 
constexpr PageNumber taco::DataFileIdAndPageIdGetPageNumber (uint64_t fsfileid, PageNumber fspid)
 

Variables

constexpr uint64_t taco::DBFILE_MAGIC = 0xdefabc1221cbafedul
 
constexpr PageNumber taco::PENDING_CREATION_PID = RESERVED_PID
 
constexpr PageNumber taco::FM_META_PID = INVALID_PID
 The FM meta page is always the first page in the file. More...
 
constexpr PageNumber taco::PageGroupSize = 64
 Size of allocation in pages. More...
 
constexpr size_t taco::MaxFileSize = (size_t) 64 * 1024 * 1024 * 1024
 Maximum size of a single data file. More...
 
constexpr PageNumber taco::MaxNumPagesPerFile = MaxFileSize / PAGE_SIZE
 Maximum number of pages in a single data file. More...
 
constexpr uint64_t taco::MaxNumDataFiles
 Maximum number of data files. More...
 

Macro Definition Documentation

◆ DataFileNameLength

#define DataFileNameLength   3

The length of the file name of main data files.

Each name is a hexadecimal nummber of this length. That means we can have at most 4096 data files in a single directory. This is aribitrarily chosen, but should be more than enough.