#include <ndb_global.h>#include "tuppage.hpp"#include "Dbtup.hpp"Include dependency graph for tuppage.cpp:

Go to the source code of this file.
Functions | |
| NdbOut & | operator<< (NdbOut &out, const Tup_varsize_page &page) |
| NdbOut & | operator<< (NdbOut &out, const Tup_fixsize_page &page) |
| NdbOut& operator<< | ( | NdbOut & | out, | |
| const Tup_fixsize_page & | page | |||
| ) |
Definition at line 453 of file tuppage.cpp.
00454 { 00455 out << "[ Fixpage " << &page 00456 << ": frag_page: " << page.frag_page_id 00457 << " page_no: " << page.m_page_no 00458 << " file_no: " << page.m_file_no 00459 << " table: " << page.m_table_id 00460 << " fragment: " << page.m_fragment_id 00461 << " uncommitted_used_space: " << page.uncommitted_used_space 00462 << " free: " << page.free_space; 00463 00464 out << " free list: " << hex << page.next_free_index << " " << flush; 00465 Uint32 startTuple = page.next_free_index >> 16; 00466 00467 #if 0 00468 Uint32 cnt = 0; 00469 Uint32 next= startTuple; 00470 while((next & 0xFFFF) != 0xFFFF) 00471 { 00472 cnt++; 00473 out << dec << "(" << (next & 0xFFFF) << " " << hex << next << ") " << flush; 00474 assert(page.m_data[(next & 0xFFFF) + 1] == Dbtup::Tuple_header::FREE); 00475 next= * (page.m_data + ( next & 0xFFFF )); 00476 } 00477 assert(cnt == page.free_space); 00478 #endif 00479 out << "]"; 00480 return out; 00481 }
| NdbOut& operator<< | ( | NdbOut & | out, | |
| const Tup_varsize_page & | page | |||
| ) |
Definition at line 420 of file tuppage.cpp.
00421 { 00422 out << "[ Varpage " << &page << ": free: " << page.free_space 00423 << " (" << (page.DATA_WORDS - (page.insert_pos + page.high_index + 1)) << ")" 00424 << " insert_pos: " << page.insert_pos 00425 << " high_index: " << page.high_index 00426 << " index: " << flush; 00427 00428 const Uint32 *index_ptr= page.m_data+page.DATA_WORDS-1; 00429 for(Uint32 i = 1; i<page.high_index; i++, index_ptr--) 00430 { 00431 out << " [ " << i; 00432 if(! (*index_ptr & page.FREE)) 00433 out << " pos: " << ((* index_ptr & page.POS_MASK) >> page.POS_SHIFT) 00434 << " len: " << ((* index_ptr & page.LEN_MASK) >> page.LEN_SHIFT) 00435 << ((* index_ptr & page.CHAIN) ? " CHAIN " : " ") 00436 << "]" << flush; 00437 else 00438 out << " FREE ]" << flush; 00439 } 00440 00441 out << " free list: " << flush; 00442 Uint32 next= page.next_free_index; 00443 while(next != page.END_OF_FREE_LIST) 00444 { 00445 out << next << " " << flush; 00446 next= ((* (page.m_data+page.DATA_WORDS-next)) & page.NEXT_MASK) >> page.NEXT_SHIFT; 00447 } 00448 out << "]"; 00449 return out; 00450 }
1.4.7

