func: void heap_redo(XLogRecPtr lsn,XLogRecord *record) uint8 info = ( ( record -> xl_info ) & ~0x0F ) ; switch ( info & 0x70 )  heap_xlog_insert ( lsn , record ); static void heap_xlog_insert(XLogRecPtr lsn,XLogRecord *record) xl_heap_insert * xlrec = ( xl_heap_insert * ) ( ( ( char * ) record ) + ( ( ( intptr_t ) ( sizeof ( XLogRecord ) ) ) + ( 8 - 1 ) & ~ ( ( intptr_t ) ( 8 - 1 ) ) ) ) ; Buffer buffer ; Page page ; struct { HeapTupleHeaderData hdr ; char data [ 8192 - ( ( ( intptr_t ) ( ( ( size_t ) ( & ( ( PageHeaderData * ) 0 ) -> pd_linp ) ) + sizeof ( ItemIdData ) ) ) + ( 8 - 1 ) & ~ ( ( intptr_t ) ( 8 - 1 ) ) ) ] ; } tbuf ; HeapTupleHeader htup ; uint32 newlen ; BlockNumber blkno ; blkno = ( ( ( ( void ) ( ( bool ) 1 ) ) , ( ( ( ( void ) ( ( bool ) 1 ) ) , ( ( BlockNumber ) ( ( ( & ( & xlrec -> target . tid ) -> ip_blkid ) -> bi_hi ) << 16 | ( ( uint16 ) ( ( & ( & xlrec -> target . tid ) -> ip_blkid ) -> bi_lo ) ) ) ) ) ) ) ); if ( ( record -> xl_info ) & 0x0008 >> 0 )  if ( ( record -> xl_info ) & 0x0080 )  buffer = XLogReadBuffer ( xlrec -> target . node , blkno , ( ( bool ) 0 ) ); if ( ! ( ( ( ( void ) ( ( bool ) 1 ) ) , buffer != 0 ) ) )  page = ( ( Page ) ( ( Page ) ( ( ( ( void ) ( ( bool ) 1 ) ) , ( buffer < 0 ? LocalBufferBlockPointers [ - buffer - 1 ] : ( ( Block ) ( BufferBlocks + ( ( Size ) ( buffer - 1 ) ) * 8192 ) ) ) ) ) ) ); if ( lsn . xlogid < ( ( PageHeader ) page ) -> pd_lsn . xlogid || lsn . xlogid == ( ( PageHeader ) page ) -> pd_lsn . xlogid && lsn . xrecoff <= ( ( PageHeader ) page ) -> pd_lsn . xrecoff )  newlen = ( ( record -> xl_len ) - ( ( ( size_t ) ( & ( ( xl_heap_insert * ) 0 ) -> all_visible_cleared ) ) + sizeof ( bool ) ) - ( ( ( size_t ) ( & ( ( xl_heap_header * ) 0 ) -> t_hoff ) ) + sizeof ( uint8 ) ) ); htup = & tbuf . hdr; memcpy ( ( ( ( char * ) htup ) + ( ( size_t ) ( & ( ( HeapTupleHeaderData * ) 0 ) -> t_bits ) ) ) , ( ( ( char * ) xlrec ) + ( ( ( size_t ) ( & ( ( xl_heap_insert * ) 0 ) -> all_visible_cleared ) ) + sizeof ( bool ) ) + ( ( ( size_t ) ( & ( ( xl_heap_header * ) 0 ) -> t_hoff ) ) + sizeof ( uint8 ) ) ) , newlen ); 