!5005 修复 hash 索引分裂后页面 checksum 校验失败问题
Merge pull request !5005 from sungwu/fix_hash_checksum
This commit is contained in:
@ -985,7 +985,6 @@ static bool _hash_alloc_buckets(Relation rel, BlockNumber firstblock, uint32 nbl
|
|||||||
ovflopaque->hasho_bucket = -1;
|
ovflopaque->hasho_bucket = -1;
|
||||||
ovflopaque->hasho_flag = LH_UNUSED_PAGE;
|
ovflopaque->hasho_flag = LH_UNUSED_PAGE;
|
||||||
ovflopaque->hasho_page_id = HASHO_PAGE_ID;
|
ovflopaque->hasho_page_id = HASHO_PAGE_ID;
|
||||||
PageSetChecksumInplace(zerobuf, lastblock);
|
|
||||||
|
|
||||||
if (RelationNeedsWAL(rel))
|
if (RelationNeedsWAL(rel))
|
||||||
log_newpage(&rel->rd_node,
|
log_newpage(&rel->rd_node,
|
||||||
@ -994,6 +993,7 @@ static bool _hash_alloc_buckets(Relation rel, BlockNumber firstblock, uint32 nbl
|
|||||||
zerobuf,
|
zerobuf,
|
||||||
true);
|
true);
|
||||||
|
|
||||||
|
PageSetChecksumInplace(page, lastblock);
|
||||||
if (IsSegmentFileNode(rel->rd_node)) {
|
if (IsSegmentFileNode(rel->rd_node)) {
|
||||||
Buffer buf;
|
Buffer buf;
|
||||||
for (BlockNumber i = firstblock; i <= lastblock; i++) {
|
for (BlockNumber i = firstblock; i <= lastblock; i++) {
|
||||||
|
Reference in New Issue
Block a user