|
PostgreSQL Source Code git master
|
#include "postgres.h"#include "access/hash.h"#include "access/relscan.h"#include "miscadmin.h"#include "executor/instrument_node.h"#include "pgstat.h"#include "storage/predicate.h"#include "utils/rel.h"
Go to the source code of this file.
Functions | |
| static bool | _hash_readpage (IndexScanDesc scan, Buffer *bufP, ScanDirection dir) |
| static int | _hash_load_qualified_items (IndexScanDesc scan, Page page, OffsetNumber offnum, ScanDirection dir) |
| static void | _hash_saveitem (HashScanOpaque so, int itemIndex, OffsetNumber offnum, IndexTuple itup) |
| static void | _hash_readnext (IndexScanDesc scan, Buffer *bufp, Page *pagep, HashPageOpaque *opaquep) |
| bool | _hash_next (IndexScanDesc scan, ScanDirection dir) |
| static void | _hash_readprev (IndexScanDesc scan, Buffer *bufp, Page *pagep, HashPageOpaque *opaquep) |
| bool | _hash_first (IndexScanDesc scan, ScanDirection dir) |
| bool _hash_first | ( | IndexScanDesc | scan, |
| ScanDirection | dir | ||
| ) |
Definition at line 289 of file hashsearch.c.
References _hash_datum2hashkey(), _hash_datum2hashkey_type(), _hash_dropbuf(), _hash_get_oldblock_from_newbucket(), _hash_getbucketbuf_from_hashkey(), _hash_getbuf(), _hash_readnext(), _hash_readpage(), Assert, BlockNumberIsValid(), buf, BUFFER_LOCK_SHARE, BUFFER_LOCK_UNLOCK, BufferGetBlockNumber(), BufferGetPage(), BufferIsInvalid, cur, ereport, errcode(), errmsg(), ERROR, fb(), H_BUCKET_BEING_POPULATED, HASH_READ, HashPageOpaqueData::hasho_bucket, HashPageOpaqueData::hasho_nextblkno, HashPageGetOpaque, HTEqualStrategyNumber, IndexScanDescData::indexRelation, IndexScanDescData::instrument, InvalidBuffer, InvalidOid, IndexScanDescData::keyData, LH_BUCKET_PAGE, LockBuffer(), IndexScanInstrumentation::nsearches, IndexScanDescData::numberOfKeys, IndexScanDescData::opaque, pgstat_count_index_scan, PredicateLockPage(), RelationData::rd_opcintype, ScanDirectionIsBackward, SK_ISNULL, IndexScanDescData::xs_heaptid, and IndexScanDescData::xs_snapshot.
Referenced by hashgetbitmap(), and hashgettuple().
|
static |
Definition at line 605 of file hashsearch.c.
References _hash_checkqual(), _hash_get_indextuple_hashkey(), _hash_saveitem(), Assert, fb(), FirstOffsetNumber, IndexScanDescData::ignore_killed_tuples, INDEX_MOVED_BY_SPLIT_MASK, ItemIdIsDead, MaxIndexTuplesPerPage, OffsetNumberNext, OffsetNumberPrev, IndexScanDescData::opaque, PageGetItem(), PageGetItemId(), PageGetMaxOffsetNumber(), ScanDirectionIsForward, and IndexTupleData::t_info.
Referenced by _hash_readpage().
| bool _hash_next | ( | IndexScanDesc | scan, |
| ScanDirection | dir | ||
| ) |
Definition at line 49 of file hashsearch.c.
References _hash_dropbuf(), _hash_dropscanbuf(), _hash_getbuf(), _hash_kill_items(), _hash_readpage(), BlockNumberIsValid(), buf, fb(), HASH_READ, HashScanPosInvalidate, IndexScanDescData::indexRelation, LH_BUCKET_PAGE, LH_OVERFLOW_PAGE, IndexScanDescData::opaque, ScanDirectionIsForward, and IndexScanDescData::xs_heaptid.
Referenced by hashgetbitmap(), and hashgettuple().
|
static |
Definition at line 132 of file hashsearch.c.
References _hash_getbuf(), _hash_relbuf(), Assert, BlockNumberIsValid(), BUFFER_LOCK_SHARE, BUFFER_LOCK_UNLOCK, BufferGetBlockNumber(), BufferGetPage(), BufferIsValid(), CHECK_FOR_INTERRUPTS, fb(), HASH_READ, HashPageGetOpaque, IndexScanDescData::indexRelation, InvalidBuffer, LH_OVERFLOW_PAGE, LockBuffer(), IndexScanDescData::opaque, PredicateLockPage(), and IndexScanDescData::xs_snapshot.
Referenced by _hash_first(), _hash_readpage(), and _hash_readprev().
|
static |
Definition at line 449 of file hashsearch.c.
References _hash_binsearch(), _hash_binsearch_last(), _hash_checkpage(), _hash_kill_items(), _hash_load_qualified_items(), _hash_readnext(), _hash_readprev(), _hash_relbuf(), Assert, buf, BUFFER_LOCK_UNLOCK, BufferGetBlockNumber(), BufferGetPage(), BufferIsValid(), fb(), HashPageOpaqueData::hasho_nextblkno, HashPageOpaqueData::hasho_prevblkno, HashPageGetOpaque, IndexScanDescData::indexRelation, InvalidBlockNumber, InvalidBuffer, LH_BUCKET_PAGE, LH_OVERFLOW_PAGE, LockBuffer(), MaxIndexTuplesPerPage, IndexScanDescData::opaque, and ScanDirectionIsForward.
Referenced by _hash_first(), and _hash_next().
|
static |
Definition at line 198 of file hashsearch.c.
References _hash_dropbuf(), _hash_getbuf(), _hash_readnext(), _hash_relbuf(), Assert, BlockNumberIsValid(), BUFFER_LOCK_SHARE, BUFFER_LOCK_UNLOCK, BufferGetPage(), BufferIsValid(), CHECK_FOR_INTERRUPTS, fb(), HASH_READ, HashPageGetOpaque, IndexScanDescData::indexRelation, InvalidBuffer, LH_BUCKET_PAGE, LH_OVERFLOW_PAGE, LockBuffer(), and IndexScanDescData::opaque.
Referenced by _hash_readpage().
|
inlinestatic |
Definition at line 711 of file hashsearch.c.
References fb(), HashScanPosItem::heapTid, and IndexTupleData::t_tid.
Referenced by _hash_load_qualified_items().