@@ -178,7 +178,7 @@ brin_doupdate(Relation idxrel, BlockNumber pagesPerRange,
178178 brin_can_do_samepage_update (oldbuf , origsz , newsz ))
179179 {
180180 START_CRIT_SECTION ();
181- if (!PageIndexTupleOverwrite (oldpage , oldoff , (Item ) newtup , newsz ))
181+ if (!PageIndexTupleOverwrite (oldpage , oldoff , (Item ) unconstify ( BrinTuple * , newtup ) , newsz ))
182182 elog (ERROR , "failed to replace BRIN tuple" );
183183 MarkBufferDirty (oldbuf );
184184
@@ -195,7 +195,7 @@ brin_doupdate(Relation idxrel, BlockNumber pagesPerRange,
195195 XLogRegisterData ((char * ) & xlrec , SizeOfBrinSamepageUpdate );
196196
197197 XLogRegisterBuffer (0 , oldbuf , REGBUF_STANDARD );
198- XLogRegisterBufData (0 , (char * ) newtup , newsz );
198+ XLogRegisterBufData (0 , (char * ) unconstify ( BrinTuple * , newtup ) , newsz );
199199
200200 recptr = XLogInsert (RM_BRIN_ID , info );
201201
@@ -252,7 +252,7 @@ brin_doupdate(Relation idxrel, BlockNumber pagesPerRange,
252252 brin_page_init (newpage , BRIN_PAGETYPE_REGULAR );
253253
254254 PageIndexTupleDeleteNoCompact (oldpage , oldoff );
255- newoff = PageAddItem (newpage , (Item ) newtup , newsz ,
255+ newoff = PageAddItem (newpage , (Item ) unconstify ( BrinTuple * , newtup ) , newsz ,
256256 InvalidOffsetNumber , false, false);
257257 if (newoff == InvalidOffsetNumber )
258258 elog (ERROR , "failed to add BRIN tuple to new page" );
@@ -287,7 +287,7 @@ brin_doupdate(Relation idxrel, BlockNumber pagesPerRange,
287287 XLogRegisterData ((char * ) & xlrec , SizeOfBrinUpdate );
288288
289289 XLogRegisterBuffer (0 , newbuf , REGBUF_STANDARD | (extended ? REGBUF_WILL_INIT : 0 ));
290- XLogRegisterBufData (0 , (char * ) newtup , newsz );
290+ XLogRegisterBufData (0 , (char * ) unconstify ( BrinTuple * , newtup ) , newsz );
291291
292292 /* revmap page */
293293 XLogRegisterBuffer (1 , revmapbuf , 0 );
0 commit comments