mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	Fix alignment of GIN in-line posting lists stored in entry tuples.
The Sparc machines in the buildfarm are crashing because of misaligned access to posting lists stored in entry tuples. I accidentally removed a critical SHORTALIGN() from ginFormTuple, as part of the packed posting lists patch. Perhaps I thought it was unnecessary, because the index_form_tuple() call above the SHORTALIGN already aligned the size, missing the fact that the null-category byte makes it misaligned again (I think the SHORTALIGN is indeed unnecessary if there's no null- category byte, but let's just play it safe...)
This commit is contained in:
		@@ -87,6 +87,8 @@ GinFormTuple(GinState *ginstate,
 | 
				
			|||||||
		newsize = Max(newsize, minsize);
 | 
							newsize = Max(newsize, minsize);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						newsize = SHORTALIGN(newsize);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	GinSetPostingOffset(itup, newsize);
 | 
						GinSetPostingOffset(itup, newsize);
 | 
				
			||||||
	GinSetNPosting(itup, nipd);
 | 
						GinSetNPosting(itup, nipd);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user