PostgreSQL Source Code
git master
|
Go to the source code of this file.
Functions | |
static pairingheap_node * | merge (pairingheap *heap, pairingheap_node *a, pairingheap_node *b) |
static pairingheap_node * | merge_children (pairingheap *heap, pairingheap_node *children) |
pairingheap * | pairingheap_allocate (pairingheap_comparator compare, void *arg) |
void | pairingheap_free (pairingheap *heap) |
void | pairingheap_add (pairingheap *heap, pairingheap_node *node) |
pairingheap_node * | pairingheap_first (pairingheap *heap) |
pairingheap_node * | pairingheap_remove_first (pairingheap *heap) |
void | pairingheap_remove (pairingheap *heap, pairingheap_node *node) |
|
static |
Definition at line 79 of file pairingheap.c.
References a, b, pairingheap::ph_arg, and pairingheap::ph_compare.
Referenced by _bt_load(), merge_children(), and pairingheap_add().
|
static |
Definition at line 234 of file pairingheap.c.
References merge(), next, and pairingheap_node::next_sibling.
Referenced by pairingheap_remove(), and pairingheap_remove_first().
void pairingheap_add | ( | pairingheap * | heap, |
pairingheap_node * | node | ||
) |
Definition at line 112 of file pairingheap.c.
References pairingheap_node::first_child, merge(), pairingheap_node::next_sibling, pairingheap::ph_root, and pairingheap_node::prev_or_parent.
Referenced by ExportSnapshot(), GetNonHistoricCatalogSnapshot(), GetTransactionSnapshot(), gistScanPage(), RegisterSnapshotOnOwner(), ReorderBufferChangeMemoryUpdate(), reorderqueue_push(), SetTransactionSnapshot(), and spgAddSearchItemToQueue().
pairingheap* pairingheap_allocate | ( | pairingheap_comparator | compare, |
void * | arg | ||
) |
Definition at line 42 of file pairingheap.c.
References arg, compare(), palloc(), pairingheap::ph_arg, pairingheap::ph_compare, and pairingheap::ph_root.
Referenced by ExecInitIndexScan(), gistrescan(), ReorderBufferAllocate(), and resetSpGistScanOpaque().
pairingheap_node* pairingheap_first | ( | pairingheap * | heap | ) |
Definition at line 130 of file pairingheap.c.
References Assert, pairingheap_is_empty, and pairingheap::ph_root.
Referenced by GetOldestSnapshot(), IndexNextWithReorder(), ReorderBufferLargestTXN(), and SnapshotResetXmin().
void pairingheap_free | ( | pairingheap * | heap | ) |
Definition at line 63 of file pairingheap.c.
References pfree().
void pairingheap_remove | ( | pairingheap * | heap, |
pairingheap_node * | node | ||
) |
Definition at line 170 of file pairingheap.c.
References Assert, pairingheap_node::first_child, merge_children(), pairingheap_node::next_sibling, pairingheap_remove_first(), pairingheap::ph_root, and pairingheap_node::prev_or_parent.
Referenced by AtEOXact_Snapshot(), InvalidateCatalogSnapshot(), ReorderBufferChangeMemoryUpdate(), and UnregisterSnapshotNoOwner().
pairingheap_node* pairingheap_remove_first | ( | pairingheap * | heap | ) |
Definition at line 145 of file pairingheap.c.
References Assert, pairingheap_node::first_child, merge_children(), pairingheap_node::next_sibling, pairingheap_is_empty, pairingheap::ph_root, and pairingheap_node::prev_or_parent.
Referenced by getNextGISTSearchItem(), pairingheap_remove(), reorderqueue_pop(), and spgGetNextQueueItem().