Merge lp:~gaul/percona-data-recovery-tool-for-innodb/dulint-to-uint64_t into lp:percona-data-recovery-tool-for-innodb

Proposed by Andrew Gaul
Status: Needs review
Proposed branch: lp:~gaul/percona-data-recovery-tool-for-innodb/dulint-to-uint64_t
Merge into: lp:percona-data-recovery-tool-for-innodb
Diff against target: 41 lines (+7/-8)
1 file modified
page_printer.c (+7/-8)
To merge this branch: bzr merge lp:~gaul/percona-data-recovery-tool-for-innodb/dulint-to-uint64_t
Reviewer Review Type Date Requested Status
Percona developers Pending
Review via email: mp+120913@code.launchpad.net
To post a comment you must log in.

Unmerged revisions

70. By Andrew Gaul <email address hidden>

Add dulint_to_uint64_t helper

Used several times in upcoming enhancements to page_printer.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'page_printer.c'
--- page_printer.c 2012-08-09 20:35:20 +0000
+++ page_printer.c 2012-08-23 05:06:25 +0000
@@ -27,6 +27,11 @@
2727
28#define COLUMN_NAME_FMT "%-32s"28#define COLUMN_NAME_FMT "%-32s"
2929
30static uint64_t dulint_to_uint64_t(dulint tuple)
31{
32 return (((uint64_t) tuple.high) << 32) | tuple.low;
33}
34
30static void print_page(uchar *p)35static void print_page(uchar *p)
31{36{
32 int type = mach_read_from_2(p + FIL_PAGE_TYPE);37 int type = mach_read_from_2(p + FIL_PAGE_TYPE);
@@ -46,11 +51,8 @@
46 mach_read_from_4(p + FIL_PAGE_LSN));51 mach_read_from_4(p + FIL_PAGE_LSN));
47 printf(COLUMN_NAME_FMT " %ld\n", "FIL_PAGE_TYPE",52 printf(COLUMN_NAME_FMT " %ld\n", "FIL_PAGE_TYPE",
48 mach_read_from_2(p + FIL_PAGE_TYPE));53 mach_read_from_2(p + FIL_PAGE_TYPE));
49 dulint flush_lsn_tuple = mach_read_from_6(p + FIL_PAGE_FILE_FLUSH_LSN);
50 uint64_t flush_lsn = (((uint64_t) flush_lsn_tuple.high) << 32) +
51 flush_lsn_tuple.low;
52 printf(COLUMN_NAME_FMT " %" PRIu64 "\n", "FIL_PAGE_FILE_FLUSH_LSN",54 printf(COLUMN_NAME_FMT " %" PRIu64 "\n", "FIL_PAGE_FILE_FLUSH_LSN",
53 flush_lsn);55 dulint_to_uint64_t(mach_read_from_6(p + FIL_PAGE_FILE_FLUSH_LSN)));
54 printf(COLUMN_NAME_FMT " %ld\n", "FIL_PAGE_ARCH_LOG_NO_OR_SPACE_ID",56 printf(COLUMN_NAME_FMT " %ld\n", "FIL_PAGE_ARCH_LOG_NO_OR_SPACE_ID",
55 mach_read_from_4(p + FIL_PAGE_ARCH_LOG_NO_OR_SPACE_ID));57 mach_read_from_4(p + FIL_PAGE_ARCH_LOG_NO_OR_SPACE_ID));
56 printf(COLUMN_NAME_FMT " 0x%08lX\n", "FIL_PAGE_END_LSN_OLD_CHKSUM",58 printf(COLUMN_NAME_FMT " 0x%08lX\n", "FIL_PAGE_END_LSN_OLD_CHKSUM",
@@ -69,11 +71,8 @@
69 mach_read_from_2(pd + PAGE_N_HEAP));71 mach_read_from_2(pd + PAGE_N_HEAP));
70 printf(COLUMN_NAME_FMT " 0x%lX\n", "PAGE_FREE",72 printf(COLUMN_NAME_FMT " 0x%lX\n", "PAGE_FREE",
71 mach_read_from_2(pd + PAGE_FREE));73 mach_read_from_2(pd + PAGE_FREE));
72 dulint index_id_tuple = mach_read_from_8(pd + PAGE_INDEX_ID);
73 uint64_t index_id = (((uint64_t) index_id_tuple.high) << 32) +
74 index_id_tuple.low;
75 printf(COLUMN_NAME_FMT " %" PRIu64 "\n", "PAGE_INDEX_ID",74 printf(COLUMN_NAME_FMT " %" PRIu64 "\n", "PAGE_INDEX_ID",
76 index_id);75 dulint_to_uint64_t(mach_read_from_8(pd + PAGE_INDEX_ID)));
77 printf(COLUMN_NAME_FMT " %ld\n", "PAGE_BTR_SEG_LEAF",76 printf(COLUMN_NAME_FMT " %ld\n", "PAGE_BTR_SEG_LEAF",
78 mach_read_from_4(pd + PAGE_BTR_SEG_LEAF + FSEG_HDR_SPACE));77 mach_read_from_4(pd + PAGE_BTR_SEG_LEAF + FSEG_HDR_SPACE));
79 printf(COLUMN_NAME_FMT " %ld\n", "PAGE_BTR_SEG_TOP",78 printf(COLUMN_NAME_FMT " %ld\n", "PAGE_BTR_SEG_TOP",

Subscribers

People subscribed via source and target branches