|
PostgreSQL Source Code git master
|


Go to the source code of this file.
Data Structures | |
| struct | TBMIterator |
| struct | TBMIterateResult |
Macros | |
| #define | TBM_MAX_TUPLES_PER_PAGE MaxHeapTuplesPerPage |
| #define TBM_MAX_TUPLES_PER_PAGE MaxHeapTuplesPerPage |
Definition at line 34 of file tidbitmap.h.
Definition at line 43 of file tidbitmap.h.
Definition at line 44 of file tidbitmap.h.
|
extern |
Definition at line 432 of file tidbitmap.c.
References TIDBitmap::maxentries, TIDBitmap::nentries, tbm_lossify(), and tbm_mark_page_lossy().
Referenced by bringetbitmap(), and gingetbitmap().
|
extern |
Definition at line 367 of file tidbitmap.c.
References Assert, BITNUM, elog, ERROR, fb(), i, InvalidBlockNumber, PagetableEntry::ischunk, ItemPointerGetBlockNumber(), ItemPointerGetOffsetNumber(), TIDBitmap::iterating, TIDBitmap::maxentries, TIDBitmap::nentries, PagetableEntry::recheck, tbm_get_pageentry(), tbm_lossify(), TBM_MAX_TUPLES_PER_PAGE, TBM_NOT_ITERATING, tbm_page_is_lossy(), WORDNUM, and PagetableEntry::words.
Referenced by blgetbitmap(), btgetbitmap(), collectMatchBitmap(), GinDataLeafPageGetItemsToTbm(), gingetbitmap(), ginPostingListDecodeAllSegmentsToTbm(), gistScanPage(), hashgetbitmap(), scanPendingInsert(), and storeBitmap().
|
extern |
Definition at line 1462 of file tidbitmap.c.
References dsa_get_address(), fb(), and palloc0_object.
Referenced by tbm_begin_iterate().
|
extern |
Definition at line 1571 of file tidbitmap.c.
References DsaPointerIsValid, fb(), TBMIterator::shared, tbm_attach_shared_iterate(), and tbm_begin_private_iterate().
Referenced by BitmapTableScanSetup().
|
extern |
Definition at line 676 of file tidbitmap.c.
References Assert, fb(), i, PagetableEntry::ischunk, TIDBitmap::iterating, TIDBitmap::mcxt, MemoryContextAlloc(), TIDBitmap::nchunks, TIDBitmap::npages, TIDBitmap::pagetable, palloc_object, qsort, TIDBitmap::schunks, TIDBitmap::spages, TIDBitmap::status, tbm_comparator(), TBM_HASH, TBM_ITERATING_PRIVATE, TBM_ITERATING_SHARED, and TBM_NOT_ITERATING.
Referenced by startScanEntry(), and tbm_begin_iterate().
Definition at line 1542 of file tidbitmap.c.
References fb(), Max, and Min.
Referenced by compute_bitmap_pages(), and tbm_create().
Definition at line 256 of file tidbitmap.c.
References CurrentMemoryContext, TIDBitmap::dsa, TIDBitmap::dsapagetable, TIDBitmap::dsapagetableold, fb(), InvalidDsaPointer, TIDBitmap::lossify_start, makeNode, TIDBitmap::maxentries, TIDBitmap::mcxt, TIDBitmap::ptchunks, TIDBitmap::ptpages, TIDBitmap::status, tbm_calculate_entries(), and TBM_EMPTY.
Referenced by collectMatchBitmap(), MultiExecBitmapIndexScan(), and MultiExecBitmapOr().
|
extern |
Definition at line 1594 of file tidbitmap.c.
References Assert, fb(), tbm_end_private_iterate(), tbm_end_shared_iterate(), and tbm_exhausted().
Referenced by ExecEndBitmapHeapScan(), and ExecReScanBitmapHeapScan().
|
extern |
Definition at line 1147 of file tidbitmap.c.
Referenced by entryGetItem(), ginFreeScanKeys(), startScanEntry(), and tbm_end_iterate().
|
extern |
Definition at line 1159 of file tidbitmap.c.
Referenced by tbm_end_iterate().
|
inlinestatic |
Definition at line 118 of file tidbitmap.h.
References fb().
Referenced by ExecEndBitmapHeapScan(), ExecReScanBitmapHeapScan(), and tbm_end_iterate().
|
extern |
Definition at line 899 of file tidbitmap.c.
References BITS_PER_BITMAPWORD, fb(), PagetableEntry::words, and WORDS_PER_PAGE.
Referenced by BitmapHeapScanNextBlock(), and entryGetItem().
Definition at line 312 of file tidbitmap.c.
References fb(), TIDBitmap::pagetable, pfree(), TIDBitmap::schunks, and TIDBitmap::spages.
Referenced by ExecEndBitmapHeapScan(), ExecReScanBitmapHeapScan(), ginFreeScanKeys(), MultiExecBitmapAnd(), MultiExecBitmapOr(), and startScanEntry().
|
extern |
Definition at line 331 of file tidbitmap.c.
References dsa_free(), dsa_get_address(), DsaPointerIsValid, fb(), pg_atomic_sub_fetch_u32(), PTEntryArray::refcount, and PTIterationArray::refcount.
Referenced by ExecBitmapHeapReInitializeDSM().
Definition at line 528 of file tidbitmap.c.
References a, Assert, b, elog, ERROR, fb(), i, TBM_EMPTY, TBM_HASH, tbm_intersect_page(), and TBM_ONE_PAGE.
Referenced by MultiExecBitmapAnd().
Definition at line 657 of file tidbitmap.c.
References TIDBitmap::nentries.
Referenced by MultiExecBitmapAnd(), and startScanEntry().
|
extern |
Definition at line 1614 of file tidbitmap.c.
References Assert, fb(), tbm_private_iterate(), and tbm_shared_iterate().
Referenced by bitmapheap_stream_read_next().
|
extern |
Definition at line 752 of file tidbitmap.c.
References Assert, TIDBitmap::dsa, dsa_allocate, dsa_allocate0, dsa_get_address(), TIDBitmap::dsapagetable, TIDBitmap::entry1, fb(), i, idx(), PTIterationArray::index, PagetableEntry::ischunk, TIDBitmap::iterating, LWLockInitialize(), TIDBitmap::maxentries, TIDBitmap::nchunks, TIDBitmap::nentries, TIDBitmap::npages, TIDBitmap::pagetable, pg_atomic_add_fetch_u32(), pg_atomic_init_u32(), TIDBitmap::ptchunks, PTEntryArray::ptentry, TIDBitmap::ptpages, qsort_arg(), PTEntryArray::refcount, PTIterationArray::refcount, TIDBitmap::status, TBM_HASH, TBM_ITERATING_PRIVATE, TBM_ITERATING_SHARED, TBM_NOT_ITERATING, TBM_ONE_PAGE, and tbm_shared_comparator().
Referenced by BitmapTableScanSetup().
|
extern |
Definition at line 974 of file tidbitmap.c.
References Assert, PagetableEntry::blockno, TIDBitmap::entry1, fb(), InvalidBlockNumber, TIDBitmap::iterating, TIDBitmap::nchunks, TIDBitmap::npages, PAGES_PER_CHUNK, PagetableEntry::recheck, TIDBitmap::schunks, TIDBitmap::spages, TIDBitmap::status, tbm_advance_schunkbit(), TBM_ITERATING_PRIVATE, and TBM_ONE_PAGE.
Referenced by entryGetItem(), and tbm_iterate().
|
extern |
Definition at line 1054 of file tidbitmap.c.
References PagetableEntry::blockno, fb(), InvalidBlockNumber, LW_EXCLUSIVE, LWLockAcquire(), LWLockRelease(), PAGES_PER_CHUNK, PagetableEntry::recheck, and tbm_advance_schunkbit().
Referenced by tbm_iterate().
Definition at line 447 of file tidbitmap.c.
References a, Assert, b, fb(), i, TBM_HASH, TBM_ONE_PAGE, and tbm_union_page().
Referenced by MultiExecBitmapOr().