1 #ifndef __ZERO_BUFFER_POOL_POINTER_SWIZZLING_HPP 2 #define __ZERO_BUFFER_POOL_POINTER_SWIZZLING_HPP 99 return (pid & swizzledPIDBit) != 0;
111 return index | swizzledPIDBit;
123 return pid & ~swizzledPIDBit;
142 static constexpr
PageID swizzledPIDBit = 0b10000000000000000000000000000000;
146 #endif // __ZERO_BUFFER_POOL_POINTER_SWIZZLING_HPP static bf_idx makeBufferIndex(const PageID pid) noexcept
Transforms a swizzled page ID to a buffer pool index.
Definition: buffer_pool_pointer_swizzling.hpp:57
static void debugDumpPointer(std::ostream &o, PageID pid)
Dumps the given page ID to an output stream.
Definition: buffer_pool_pointer_swizzling.cpp:8
Definition: buffer_pool.hpp:34
TODO.
Definition: buffer_pool_pointer_swizzling.hpp:14
A generic page view: any Zero page can be viewed as being of this type but it only exposes fields sha...
Definition: generic_page.h:121
uint32_t bf_idx
Definition: basics.h:56
static PageID makeSwizzledPointer(const bf_idx index) noexcept
Transforms a buffer pool index into a swizzled page ID.
Definition: buffer_pool_pointer_swizzling.hpp:43
uint32_t PageID
Definition: basics.h:45
static bf_idx makeBufferIndex(const PageID pid) noexcept
Transforms a swizzled page ID to a buffer pool index.
Definition: buffer_pool_pointer_swizzling.hpp:122
#define w_assert0(x)
Default assert/debug level is 0.
Definition: w_base.h:175
static bool isSwizzledPointer(const PageID pid) noexcept
Checks whether a page ID is a swizzled buffer index.
Definition: buffer_pool_pointer_swizzling.hpp:30
A buffer manager that exploits the tree structure of indexes.
Definition: buffer_pool.hpp:40
TODO.
Definition: buffer_pool_pointer_swizzling.hpp:82
static bool isSwizzledPointer(const PageID pid) noexcept
Checks whether a page ID is a swizzled buffer index.
Definition: buffer_pool_pointer_swizzling.hpp:98
static PageID makeSwizzledPointer(const bf_idx index) noexcept
Transforms a buffer pool index into a swizzled page ID.
Definition: buffer_pool_pointer_swizzling.hpp:110
static constexpr bool usesPointerSwizzling
TODO.
Definition: buffer_pool_pointer_swizzling.hpp:21
static bf_idx makeBufferIndexForFix(generic_page *parentPage, generic_page *&targetPage, PageID pid)
Definition: buffer_pool_pointer_swizzling.hpp:73