|
PostgreSQL Source Code git master
|
#include "postgres.h"#include "access/htup_details.h"#include "access/itup.h"#include "access/xlog.h"#include "pgstat.h"#include "storage/checksum.h"#include "utils/memdebug.h"#include "utils/memutils.h"
Go to the source code of this file.
Data Structures | |
| struct | itemIdCompactData |
Typedefs | |
| typedef struct itemIdCompactData | itemIdCompactData |
| typedef itemIdCompactData * | itemIdCompact |
Variables | |
| bool | ignore_checksum_failure = false |
|
static |
Definition at line 483 of file bufpage.c.
References Assert, PGAlignedBlock::data, fb(), i, memcpy(), nitems, PageGetItemId(), PageGetMaxOffsetNumber(), PageHeaderData::pd_special, PageHeaderData::pd_upper, and upper().
Referenced by PageIndexMultiDelete(), and PageRepairFragmentation().
| OffsetNumber PageAddItemExtended | ( | Page | page, |
| const void * | item, | ||
| Size | size, | ||
| OffsetNumber | offsetNumber, | ||
| int | flags | ||
| ) |
Definition at line 203 of file bufpage.c.
References Assert, elog, ereport, errcode(), ERRCODE_DATA_CORRUPTED, errmsg, fb(), FirstOffsetNumber, InvalidOffsetNumber, ItemIdHasStorage, ItemIdIsUsed, ItemIdSetNormal, lower(), MAXALIGN, MaxHeapTuplesPerPage, memcpy(), OffsetNumberIsValid, OffsetNumberNext, PageClearHasFreeLinePointers(), PageGetItemId(), PageGetMaxOffsetNumber(), PageHasFreeLinePointers(), PAI_IS_HEAP, PAI_OVERWRITE, PANIC, PageHeaderData::pd_lower, PageHeaderData::pd_special, PageHeaderData::pd_upper, SizeOfPageHeaderData, upper(), VALGRIND_CHECK_MEM_IS_DEFINED, and WARNING.
Definition at line 967 of file bufpage.c.
References fb(), PageHeaderData::pd_lower, and PageHeaderData::pd_upper.
Referenced by _bt_bottomupdel_pass(), _bt_dedup_pass(), _bt_findsplitloc(), allocNewBuffer(), brin_can_do_samepage_update(), doPickSplit(), GetHashPageStats(), ginHeapTupleFastInsert(), pgstat_heap(), pgstat_index_page(), pgstatindex_impl(), spgAddNodeAction(), SpGistGetBuffer(), SpGistPageAddNewItem(), SpGistSetLastUsedPage(), statapprox_heap(), and writeListPage().
Definition at line 916 of file bufpage.c.
References fb(), PageHeaderData::pd_lower, and PageHeaderData::pd_upper.
Referenced by _bt_buildadd(), _bt_delete_or_dedup_one_page(), _bt_findinsertloc(), _bt_insertonpg(), _bt_search_insert(), _hash_doinsert(), br_page_get_freespace(), entryIsEnoughSpace(), GetBTPageStatistics(), GetHashPageStatistics(), gist_indexsortbuild_levelstate_add(), gistnospace(), PageGetHeapFreeSpace(), and terminate_brin_buildstate().
Definition at line 943 of file bufpage.c.
References fb(), PageHeaderData::pd_lower, and PageHeaderData::pd_upper.
Referenced by _hash_splitbucket(), and _hash_squeezebucket().
Definition at line 1000 of file bufpage.c.
References fb(), FirstOffsetNumber, ItemIdIsUsed, MaxHeapTuplesPerPage, OffsetNumberNext, PageGetFreeSpace(), PageGetItemId(), PageGetMaxOffsetNumber(), PageHasFreeLinePointers(), and unconstify.
Referenced by heap_multi_insert(), heap_page_prune_opt(), heap_update(), heap_xlog_insert(), heap_xlog_multi_insert(), heap_xlog_prune_freeze(), heap_xlog_update(), lazy_scan_heap(), lazy_scan_new_or_empty(), lazy_vacuum_heap_rel(), raw_heap_insert(), and RelationGetBufferForTuple().
Definition at line 374 of file bufpage.c.
References fb(), PageGetPageSize(), and palloc().
Referenced by dataSplitPageInternal(), and ginPlaceToPage().
Definition at line 391 of file bufpage.c.
References fb(), memcpy(), PageGetPageSize(), and palloc().
Referenced by entrySplitPage(), and ginVacuumEntryPage().
Definition at line 411 of file bufpage.c.
References fb(), memcpy(), PageGetPageSize(), PageGetSpecialPointer, PageGetSpecialSize(), PageInit(), and palloc().
Referenced by _bt_dedup_pass(), btree_xlog_dedup(), btree_xlog_split(), and gistplacetopage().
| void PageIndexMultiDelete | ( | Page | page, |
| OffsetNumber * | itemnos, | ||
| int | nitems | ||
| ) |
Definition at line 1170 of file bufpage.c.
References Assert, compactify_tuples(), elog, ereport, errcode(), ERRCODE_DATA_CORRUPTED, errmsg, ERROR, fb(), FirstOffsetNumber, ItemIdGetLength, ItemIdGetOffset, ItemIdHasStorage, MAXALIGN, MaxIndexTuplesPerPage, memcpy(), nitems, OffsetNumberNext, PageGetItemId(), PageGetMaxOffsetNumber(), PageIndexTupleDelete(), PageHeaderData::pd_linp, PageHeaderData::pd_lower, PageHeaderData::pd_special, PageHeaderData::pd_upper, and SizeOfPageHeaderData.
Referenced by _bt_delitems_delete(), _bt_delitems_vacuum(), _hash_squeezebucket(), _hash_vacuum_one_page(), btree_xlog_delete(), btree_xlog_vacuum(), gistprunepage(), gistRedoDeleteRecord(), gistRedoPageUpdateRecord(), gistvacuumpage(), hash_xlog_delete(), hash_xlog_move_page_contents(), hash_xlog_vacuum_one_page(), hashbucketcleanup(), spgPageIndexMultiDelete(), spgRedoVacuumRedirect(), spgRedoVacuumRoot(), vacuumLeafRoot(), and vacuumRedirectAndPlaceholder().
| void PageIndexTupleDelete | ( | Page | page, |
| OffsetNumber | offnum | ||
| ) |
Definition at line 1061 of file bufpage.c.
References Assert, elog, ereport, errcode(), ERRCODE_DATA_CORRUPTED, errmsg, ERROR, fb(), i, ItemIdGetLength, ItemIdGetOffset, ItemIdHasStorage, ItemIdData::lp_off, MAXALIGN, PageGetItemId(), PageGetMaxOffsetNumber(), PageIsEmpty(), PageHeaderData::pd_linp, PageHeaderData::pd_lower, PageHeaderData::pd_special, PageHeaderData::pd_upper, and SizeOfPageHeaderData.
Referenced by _bt_mark_page_halfdead(), addLeafTuple(), addOrReplaceTuple(), btree_xlog_mark_page_halfdead(), entryPreparePage(), ginRedoInsertEntry(), ginVacuumEntryPage(), gistdeletepage(), gistplacetopage(), gistRedoPageDelete(), PageIndexMultiDelete(), spgAddNodeAction(), SpGistPageAddNewItem(), spgRedoAddLeaf(), spgRedoAddNode(), spgRedoSplitTuple(), and spgSplitNodeAction().
| void PageIndexTupleDeleteNoCompact | ( | Page | page, |
| OffsetNumber | offnum | ||
| ) |
Definition at line 1304 of file bufpage.c.
References Assert, elog, ereport, errcode(), ERRCODE_DATA_CORRUPTED, errmsg, ERROR, fb(), i, ItemIdGetLength, ItemIdGetOffset, ItemIdHasStorage, ItemIdSetUnused, ItemIdData::lp_off, MAXALIGN, PageGetItemId(), PageGetMaxOffsetNumber(), PageIsEmpty(), PageHeaderData::pd_lower, PageHeaderData::pd_special, PageHeaderData::pd_upper, and SizeOfPageHeaderData.
Referenced by brin_doupdate(), brin_xlog_desummarize_page(), brin_xlog_update(), and brinRevmapDesummarizeRange().
Definition at line 1414 of file bufpage.c.
References Assert, elog, ereport, errcode(), ERRCODE_DATA_CORRUPTED, errmsg, ERROR, fb(), FirstOffsetNumber, i, ItemIdGetLength, ItemIdGetOffset, ItemIdHasStorage, ItemIdData::lp_off, MAXALIGN, memcpy(), PageGetItem(), PageGetItemId(), PageGetMaxOffsetNumber(), PageHeaderData::pd_lower, PageHeaderData::pd_special, PageHeaderData::pd_upper, and SizeOfPageHeaderData.
Referenced by _bt_buildadd(), _bt_delitems_delete(), _bt_delitems_vacuum(), _bt_mark_page_halfdead(), brin_doupdate(), brin_xlog_samepage_update(), btree_xlog_updates(), gistplacetopage(), and gistRedoPageUpdateRecord().
Definition at line 42 of file bufpage.c.
References Assert, fb(), MAXALIGN, MemSet, PageSetPageSizeAndVersion(), PageHeaderData::pd_flags, PageHeaderData::pd_lower, PageHeaderData::pd_special, PageHeaderData::pd_upper, PG_PAGE_LAYOUT_VERSION, and SizeOfPageHeaderData.
Referenced by _bt_pageinit(), _hash_pageinit(), BloomInitPage(), brin_page_init(), fill_seq_fork_with_data(), fsm_readbuf(), GinInitPage(), gistinitpage(), heap_xlog_insert(), heap_xlog_multi_insert(), heap_xlog_prune_freeze(), heap_xlog_update(), modify_rel_block(), PageGetTempPageCopySpecial(), raw_heap_insert(), RelationAddBlocks(), RelationGetBufferForTuple(), seq_redo(), SpGistInitPage(), vm_readbuf(), and XLogRecordPageWithFreeSpace().
| bool PageIsVerified | ( | PageData * | page, |
| BlockNumber | blkno, | ||
| int | flags, | ||
| bool * | checksum_failure_p | ||
| ) |
Definition at line 94 of file bufpage.c.
References checksum_failure, DataChecksumsNeedVerify(), ereport, errcode(), ERRCODE_DATA_CORRUPTED, errmsg, fb(), HOLD_INTERRUPTS, LOG, MAXALIGN, PageIsNew(), PageHeaderData::pd_checksum, PageHeaderData::pd_flags, PageHeaderData::pd_lower, PageHeaderData::pd_special, PageHeaderData::pd_upper, PD_VALID_FLAG_BITS, pg_checksum_page(), pg_memory_is_all_zeros(), PIV_IGNORE_CHECKSUM_FAILURE, PIV_LOG_LOG, PIV_LOG_WARNING, PIV_ZERO_BUFFERS_ON_ERROR, RESUME_INTERRUPTS, and WARNING.
Referenced by buffer_readv_complete_one(), and RelationCopyStorage().
Definition at line 708 of file bufpage.c.
References Assert, compactify_tuples(), ereport, errcode(), ERRCODE_DATA_CORRUPTED, errmsg, ERROR, fb(), FirstOffsetNumber, i, InvalidOffsetNumber, ItemIdGetLength, ItemIdGetOffset, ItemIdHasStorage, ItemIdIsUsed, ItemIdSetUnused, MAXALIGN, MaxHeapTuplesPerPage, PageClearHasFreeLinePointers(), PageGetItemId(), PageGetMaxOffsetNumber(), PageSetHasFreeLinePointers(), SizeOfPageHeaderData, and unlikely.
Referenced by heap_page_prune_execute().
Definition at line 433 of file bufpage.c.
References fb(), memcpy(), PageGetPageSize(), and pfree().
Referenced by _bt_dedup_pass(), btree_xlog_dedup(), btree_xlog_split(), createPostingTree(), ginbulkdelete(), and gistplacetopage().
| void PageSetChecksum | ( | Page | page, |
| BlockNumber | blkno | ||
| ) |
Definition at line 1518 of file bufpage.c.
References DataChecksumsNeedWrite(), HOLD_INTERRUPTS, PageIsNew(), pg_checksum_page(), and RESUME_INTERRUPTS.
Referenced by _hash_alloc_buckets(), FlushBuffer(), FlushLocalBuffer(), modify_rel_block(), and smgr_bulk_flush().
Definition at line 844 of file bufpage.c.
References Assert, fb(), FirstOffsetNumber, i, ItemIdIsUsed, PageClearHasFreeLinePointers(), PageGetItemId(), PageGetMaxOffsetNumber(), PageSetHasFreeLinePointers(), and PageHeaderData::pd_lower.
Referenced by heap_page_prune_execute(), and lazy_vacuum_heap_page().
Definition at line 27 of file bufpage.c.
Referenced by AsyncReadBuffers(), read_rel_block_ll(), and RelationCopyStorage().