@@ -276,7 +276,6 @@ extractPageMap(const char *archivedir, uint32 wal_seg_size,
276276 timelineInfo * end_tlinfo = NULL ;
277277 timelineInfo * tmp_tlinfo = NULL ;
278278 XLogRecPtr prev_switchpoint = InvalidXLogRecPtr ;
279- lsnInterval * wal_interval = NULL ;
280279
281280 /* We must find TLI information about final timeline (t3 in example) */
282281 for (i = 0 ; i < parray_num (tli_list ); i ++ )
@@ -298,7 +297,7 @@ extractPageMap(const char *archivedir, uint32 wal_seg_size,
298297 tmp_tlinfo = end_tlinfo ;
299298 while (tmp_tlinfo )
300299 {
301- wal_interval = pgut_malloc (sizeof (lsnInterval ));
300+ lsnInterval * wal_interval = pgut_malloc (sizeof (lsnInterval ));
302301 wal_interval -> tli = tmp_tlinfo -> tli ;
303302
304303 if (tmp_tlinfo -> tli == end_tli )
@@ -326,25 +325,25 @@ extractPageMap(const char *archivedir, uint32 wal_seg_size,
326325 for (i = parray_num (interval_list ) - 1 ; i >= 0 ; i -- )
327326 {
328327 bool 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 */
334333 inclusive_endpoint = false;
335334
336335 /* ... but not the end timeline */
337- if (wal_interval -> tli == end_tli )
336+ if (tmp_interval -> tli == end_tli )
338337 inclusive_endpoint = true;
339338
340339 extract_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 );
344343 if (!extract_isok )
345344 break ;
346345
347- pg_free (wal_interval );
346+ pg_free (tmp_interval );
348347 }
349348 pg_free (interval_list );
350349 }
@@ -1064,6 +1063,12 @@ RunXLogThreads(const char *archivedir, time_t target_time,
10641063 elog (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+
10671072 if (!XLogRecPtrIsInvalid (endpoint ))
10681073 {
10691074// if (XRecOffIsNull(endpoint) && !inclusive_endpoint)
0 commit comments