|
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_initialize (pairingheap *heap, 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 93 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 248 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 126 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 addLSNWaiter(), 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(), pairingheap_initialize(), and palloc().
Referenced by ExecInitIndexScan(), gistrescan(), ReorderBufferAllocate(), and resetSpGistScanOpaque().
| pairingheap_node * pairingheap_first | ( | pairingheap * | heap | ) |
Definition at line 144 of file pairingheap.c.
References Assert(), pairingheap_is_empty, and pairingheap::ph_root.
Referenced by IndexNextWithReorder(), ReorderBufferLargestTXN(), SnapshotResetXmin(), updateMinWaitedLSN(), and wakeupWaiters().
| void pairingheap_free | ( | pairingheap * | heap | ) |
Definition at line 77 of file pairingheap.c.
References pfree().
| void pairingheap_initialize | ( | pairingheap * | heap, |
| pairingheap_comparator | compare, | ||
| void * | arg | ||
| ) |
Definition at line 60 of file pairingheap.c.
References arg, compare(), pairingheap::ph_arg, pairingheap::ph_compare, and pairingheap::ph_root.
Referenced by pairingheap_allocate(), and WaitLSNShmemInit().
| void pairingheap_remove | ( | pairingheap * | heap, |
| pairingheap_node * | node | ||
| ) |
Definition at line 184 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(), deleteLSNWaiter(), InvalidateCatalogSnapshot(), ReorderBufferChangeMemoryUpdate(), and UnregisterSnapshotNoOwner().
| pairingheap_node * pairingheap_remove_first | ( | pairingheap * | heap | ) |
Definition at line 159 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(), spgGetNextQueueItem(), and wakeupWaiters().