5 #ifndef __STNODE_PAGE_H 6 #define __STNODE_PAGE_H 64 static constexpr
size_t max =
77 stnode[index].root =
root;
83 stnode[index].last_extent = ext;
88 return stnode[index].last_extent;
96 memset(&stnode, 0,
sizeof(
stnode_t) * max);
101 size_t first_unused = 0;
108 std::cout <<
"first unused store: " << first_unused << std::endl;
109 char* unused =
reinterpret_cast<char*
>(&(stnode[first_unused]));
110 char* page_begin =
reinterpret_cast<char*
>(
this);
111 length = (page_begin +
sizeof(
stnode_page)) - unused;
150 bool is_allocated(
StoreID store)
const;
156 void get_used_stores(std::vector<StoreID>&)
const;
162 void dump(std::ostream& out)
const;
173 #endif // __STNODE_PAGE_H Persistent structure representing metadata for a store.
Definition: stnode_page.h:23
extent_id_t get_last_extent(size_t index)
Definition: stnode_page.h:86
static constexpr size_t max
Definition: stnode_page.h:64
PageID root
Definition: stnode_page.h:34
#define w_assert1(x)
Level 1 should not add significant extra time.
Definition: w_base.h:198
uint32_t StoreID
Definition: basics.h:47
void set_last_extent(size_t index, extent_id_t ext)
Definition: stnode_page.h:80
uint32_t extent_id_t
Definition: alloc_page.h:12
extent_id_t last_extent
Definition: stnode_page.h:42
uint32_t PageID
Definition: basics.h:45
Log Sequence Number. See Log Sequence Numbers (LSN).
Definition: lsn.h:243
const T max(const T x, const T y)
Definition: w_minmax.h:45
Store creation/destroy/query interface.
Definition: stnode_page.h:137
void set_root(size_t index, PageID root)
Definition: stnode_page.h:75
char * unused_part(size_t &length)
Definition: stnode_page.h:100
Return code for most functions and methods.
Definition: w_rc.h:87
BOOST_STATIC_ASSERT(sizeof(stnode_page)==generic_page_header::page_sz)
bool clustered
Definition: stnode_page.h:48
static constexpr PageID stpid
Definition: stnode_page.h:68
Store-node page that contains one stnode_t for each (possibly deleted or uncreated) store belonging t...
Definition: stnode_page.h:59
store node page
Definition: generic_page.h:89
void format_empty()
Definition: stnode_page.h:91
stnode_t()
also okay to initialize via memset
Definition: stnode_page.h:25
bool is_used() const
Definition: stnode_page.h:50