File tree Expand file tree Collapse file tree 1 file changed +5
-4
lines changed Expand file tree Collapse file tree 1 file changed +5
-4
lines changed Original file line number Diff line number Diff line change @@ -897,8 +897,7 @@ logical_heap_rewrite_flush_mappings(RewriteState state)
897897
898898 /* write all mappings consecutively */
899899 len = src -> num_mappings * sizeof (LogicalRewriteMappingData );
900- waldata = palloc (len );
901- waldata_start = waldata ;
900+ waldata_start = waldata = palloc (len );
902901
903902 /*
904903 * collect data we need to write out, but don't modify ondisk data yet
@@ -921,6 +920,9 @@ logical_heap_rewrite_flush_mappings(RewriteState state)
921920 src -> num_mappings -- ;
922921 }
923922
923+ Assert (src -> num_mappings == 0 );
924+ Assert (waldata == waldata_start + len );
925+
924926 /*
925927 * Note that we deviate from the usual WAL coding practices here,
926928 * check the above "Logical rewrite support" comment for reasoning.
@@ -933,8 +935,6 @@ logical_heap_rewrite_flush_mappings(RewriteState state)
933935 written , len )));
934936 src -> off += len ;
935937
936- Assert (src -> num_mappings == 0 );
937-
938938 rdata [1 ].data = waldata_start ;
939939 rdata [1 ].len = len ;
940940 rdata [1 ].buffer = InvalidBuffer ;
@@ -943,6 +943,7 @@ logical_heap_rewrite_flush_mappings(RewriteState state)
943943 /* write xlog record */
944944 XLogInsert (RM_HEAP2_ID , XLOG_HEAP2_REWRITE , rdata );
945945
946+ pfree (waldata_start );
946947 }
947948 Assert (state -> rs_num_rewrite_mappings == 0 );
948949}
You can’t perform that action at this time.
0 commit comments