@@ -276,7 +276,6 @@ extractPageMap(const char *archivedir, uint32 wal_seg_size,
276276timelineInfo * end_tlinfo = NULL ;
277277timelineInfo * tmp_tlinfo = NULL ;
278278XLogRecPtr prev_switchpoint = InvalidXLogRecPtr ;
279- lsnInterval * wal_interval = NULL ;
280279
281280/* We must find TLI information about final timeline (t3 in example) */
282281for (i = 0 ;i < parray_num (tli_list );i ++ )
@@ -298,7 +297,7 @@ extractPageMap(const char *archivedir, uint32 wal_seg_size,
298297tmp_tlinfo = end_tlinfo ;
299298while (tmp_tlinfo )
300299{
301- wal_interval = pgut_malloc (sizeof (lsnInterval ));
300+ lsnInterval * wal_interval = pgut_malloc (sizeof (lsnInterval ));
302301wal_interval -> tli = tmp_tlinfo -> tli ;
303302
304303if (tmp_tlinfo -> tli == end_tli )
@@ -326,25 +325,25 @@ extractPageMap(const char *archivedir, uint32 wal_seg_size,
326325for (i = parray_num (interval_list )- 1 ;i >=0 ;i -- )
327326{
328327bool inclusive_endpoint ;
329- wal_interval = parray_get (interval_list ,i );
328+ lsnInterval * tmp_interval = ( lsnInterval * ) parray_get (interval_list ,i );
330329
331330/* In case of replica promotion, endpoints of intermediate
332331 * timelines can be unreachable.
333332 */
334333inclusive_endpoint = false;
335334
336335/* ... but not the end timeline */
337- if (wal_interval -> tli == end_tli )
336+ if (tmp_interval -> tli == end_tli )
338337inclusive_endpoint = true;
339338
340339extract_isok = RunXLogThreads (archivedir ,0 ,InvalidTransactionId ,
341- InvalidXLogRecPtr ,wal_interval -> tli ,wal_seg_size ,
342- wal_interval -> begin_lsn ,wal_interval -> end_lsn ,
340+ InvalidXLogRecPtr ,tmp_interval -> tli ,wal_seg_size ,
341+ tmp_interval -> begin_lsn ,tmp_interval -> end_lsn ,
343342 false,extractPageInfo ,NULL ,inclusive_endpoint );
344343if (!extract_isok )
345344break ;
346345
347- pg_free (wal_interval );
346+ pg_free (tmp_interval );
348347}
349348pg_free (interval_list );
350349}
@@ -1064,6 +1063,12 @@ RunXLogThreads(const char *archivedir, time_t target_time,
10641063elog (ERROR ,"Invalid startpoint value %X/%X" ,
10651064 (uint32 ) (startpoint >>32 ), (uint32 ) (startpoint ));
10661065
1066+ if (process_record )
1067+ elog (LOG ,"Extracting pagemap from tli %i on range from %X/%X to %X/%X" ,
1068+ tli ,
1069+ (uint32 ) (startpoint >>32 ), (uint32 ) (startpoint ),
1070+ (uint32 ) (endpoint >>32 ), (uint32 ) (endpoint ));
1071+
10671072if (!XLogRecPtrIsInvalid (endpoint ))
10681073{
10691074//if (XRecOffIsNull(endpoint) && !inclusive_endpoint)