PostgreSQL Source Code git master
|
#include "nodes/bitmapset.h"
#include "port/pg_bitutils.h"
#include "port/simd.h"
#include "utils/dsa.h"
#include "utils/memutils.h"
Go to the source code of this file.
Data Structures | |
struct | RT_NODE |
union | RT_CHILD_PTR |
struct | RT_NODE_4 |
struct | RT_NODE_16 |
struct | RT_NODE_48 |
struct | RT_NODE_256 |
struct | RT_SIZE_CLASS_ELEM |
struct | RT_RADIX_TREE_CONTROL |
struct | RT_RADIX_TREE |
struct | RT_NODE_ITER |
struct | RT_ITER |
Typedefs | |
typedef struct RT_RADIX_TREE | RT_RADIX_TREE |
typedef struct RT_ITER | RT_ITER |
typedef struct RT_NODE | RT_NODE |
typedef union RT_CHILD_PTR | RT_CHILD_PTR |
typedef struct RT_NODE_4 | RT_NODE_4 |
typedef struct RT_NODE_16 | RT_NODE_16 |
typedef struct RT_NODE_48 | RT_NODE_48 |
typedef struct RT_NODE_256 | RT_NODE_256 |
typedef enum RT_SIZE_CLASS | RT_SIZE_CLASS |
typedef struct RT_SIZE_CLASS_ELEM | RT_SIZE_CLASS_ELEM |
typedef struct RT_RADIX_TREE_CONTROL | RT_RADIX_TREE_CONTROL |
typedef struct RT_NODE_ITER | RT_NODE_ITER |
Enumerations | |
enum | RT_SIZE_CLASS { RT_CLASS_4 = 0 , RT_CLASS_16_LO , RT_CLASS_16_HI , RT_CLASS_48 , RT_CLASS_256 } |
Variables | |
static const RT_SIZE_CLASS_ELEM | RT_SIZE_CLASS_INFO [] |
RT_SCOPE RT_RADIX_TREE *RT_CHILD_PTR | rootnode |
tree = (RT_RADIX_TREE *) palloc0(sizeof(RT_RADIX_TREE)) | |
tree | ctl = (RT_RADIX_TREE_CONTROL *) palloc0(sizeof(RT_RADIX_TREE_CONTROL)) |
tree | leaf_context = ctx |
tree ctl | root = rootnode.alloc |
tree ctl | start_shift = 0 |
tree ctl | max_val = RT_SHIFT_GET_MAX_VAL(0) |
#define RT_ADD_CHILD_16 RT_MAKE_NAME(add_child_16) |
Definition at line 228 of file radixtree.h.
#define RT_ADD_CHILD_256 RT_MAKE_NAME(add_child_256) |
Definition at line 230 of file radixtree.h.
#define RT_ADD_CHILD_4 RT_MAKE_NAME(add_child_4) |
Definition at line 227 of file radixtree.h.
#define RT_ADD_CHILD_48 RT_MAKE_NAME(add_child_48) |
Definition at line 229 of file radixtree.h.
#define RT_ALLOC_LEAF RT_MAKE_NAME(alloc_leaf) |
Definition at line 203 of file radixtree.h.
#define RT_ALLOC_NODE RT_MAKE_NAME(alloc_node) |
Definition at line 202 of file radixtree.h.
#define RT_BEGIN_ITERATE RT_MAKE_NAME(begin_iterate) |
Definition at line 187 of file radixtree.h.
#define RT_BM_BIT | ( | x | ) | ((x) % BITS_PER_BITMAPWORD) |
Definition at line 336 of file radixtree.h.
#define RT_BM_IDX | ( | x | ) | ((x) / BITS_PER_BITMAPWORD) |
Definition at line 335 of file radixtree.h.
#define RT_CHILD_PTR RT_MAKE_NAME(child_ptr) |
Definition at line 252 of file radixtree.h.
#define RT_CHILDPTR_IS_VALUE RT_MAKE_NAME(childptr_is_value) |
Definition at line 198 of file radixtree.h.
#define RT_CHUNK_MASK ((1 << RT_SPAN) - 1) |
Definition at line 323 of file radixtree.h.
#define RT_CLASS_16_HI RT_MAKE_NAME(class_32_max) |
Definition at line 263 of file radixtree.h.
#define RT_CLASS_16_LO RT_MAKE_NAME(class_32_min) |
Definition at line 262 of file radixtree.h.
#define RT_CLASS_256 RT_MAKE_NAME(class_256) |
Definition at line 265 of file radixtree.h.
#define RT_CLASS_4 RT_MAKE_NAME(class_4) |
Definition at line 261 of file radixtree.h.
#define RT_CLASS_48 RT_MAKE_NAME(class_48) |
Definition at line 264 of file radixtree.h.
#define RT_COPY_ARRAYS_AND_DELETE RT_MAKE_NAME(copy_arrays_and_delete) |
Definition at line 217 of file radixtree.h.
#define RT_COPY_ARRAYS_FOR_INSERT RT_MAKE_NAME(copy_arrays_for_insert) |
Definition at line 216 of file radixtree.h.
#define RT_COPY_COMMON RT_MAKE_NAME(copy_common) |
Definition at line 209 of file radixtree.h.
#define RT_CREATE RT_MAKE_NAME(create) |
Definition at line 175 of file radixtree.h.
#define RT_DELETE_RECURSIVE RT_MAKE_NAME(delete_recursive) |
Definition at line 201 of file radixtree.h.
#define RT_DUMP_NODE RT_MAKE_NAME(dump_node) |
Definition at line 194 of file radixtree.h.
#define RT_END_ITERATE RT_MAKE_NAME(end_iterate) |
Definition at line 189 of file radixtree.h.
#define RT_EXTEND_DOWN RT_MAKE_NAME(extend_down) |
Definition at line 208 of file radixtree.h.
#define RT_EXTEND_UP RT_MAKE_NAME(extend_up) |
Definition at line 207 of file radixtree.h.
#define RT_FANOUT_16_HI RT_FANOUT_16_MAX |
Definition at line 602 of file radixtree.h.
#define RT_FANOUT_16_LO 16 |
Definition at line 600 of file radixtree.h.
#define RT_FANOUT_16_MAX 32 |
Definition at line 494 of file radixtree.h.
#define RT_FANOUT_256 RT_NODE_MAX_SLOTS |
Definition at line 506 of file radixtree.h.
#define RT_FANOUT_4 4 |
Definition at line 613 of file radixtree.h.
#define RT_FANOUT_48 RT_FANOUT_48_MAX |
Definition at line 603 of file radixtree.h.
#define RT_FANOUT_48_MAX 64 |
Definition at line 504 of file radixtree.h.
#define RT_FANOUT_4_MAX (8 - sizeof(RT_NODE)) |
Definition at line 491 of file radixtree.h.
#define RT_FIND RT_MAKE_NAME(find) |
Definition at line 177 of file radixtree.h.
#define RT_FREE RT_MAKE_NAME(free) |
Definition at line 176 of file radixtree.h.
#define RT_FREE_LEAF RT_MAKE_NAME(free_leaf) |
Definition at line 205 of file radixtree.h.
#define RT_FREE_NODE RT_MAKE_NAME(free_node) |
Definition at line 204 of file radixtree.h.
#define RT_FREE_RECURSE RT_MAKE_NAME(free_recurse) |
Definition at line 206 of file radixtree.h.
#define RT_GET_KEY_CHUNK | ( | key, | |
shift | |||
) | ((uint8) (((key) >> (shift)) & RT_CHUNK_MASK)) |
Definition at line 332 of file radixtree.h.
#define RT_GET_SLOT_RECURSIVE RT_MAKE_NAME(get_slot_recursive) |
Definition at line 200 of file radixtree.h.
#define RT_GET_VALUE_SIZE | ( | v | ) | RT_VARLEN_VALUE_SIZE(v) |
Definition at line 433 of file radixtree.h.
#define RT_GROW_NODE_16 RT_MAKE_NAME(grow_node_16) |
Definition at line 232 of file radixtree.h.
#define RT_GROW_NODE_4 RT_MAKE_NAME(grow_node_4) |
Definition at line 231 of file radixtree.h.
#define RT_GROW_NODE_48 RT_MAKE_NAME(grow_node_48) |
Definition at line 233 of file radixtree.h.
#define RT_INVALID_PTR_ALLOC NULL |
Definition at line 405 of file radixtree.h.
#define RT_INVALID_SLOT_IDX 0xFF |
Definition at line 557 of file radixtree.h.
#define RT_ITER RT_MAKE_NAME(iter) |
Definition at line 247 of file radixtree.h.
#define RT_ITERATE_NEXT RT_MAKE_NAME(iterate_next) |
Definition at line 188 of file radixtree.h.
#define RT_KEY_GET_SHIFT RT_MAKE_NAME(key_get_shift) |
Definition at line 222 of file radixtree.h.
#define RT_MAKE_NAME | ( | name | ) | RT_MAKE_NAME_(RT_MAKE_PREFIX(RT_PREFIX),name) |
Definition at line 166 of file radixtree.h.
#define RT_MAX_LEVEL ((sizeof(uint64) * BITS_PER_BYTE) / RT_SPAN) |
Definition at line 329 of file radixtree.h.
#define RT_MAX_SHIFT RT_KEY_GET_SHIFT(UINT64_MAX) |
Definition at line 326 of file radixtree.h.
#define RT_MEMORY_USAGE RT_MAKE_NAME(memory_usage) |
Definition at line 193 of file radixtree.h.
#define RT_NODE RT_MAKE_NAME(node) |
Definition at line 251 of file radixtree.h.
#define RT_NODE_16 RT_MAKE_NAME(node_16) |
Definition at line 255 of file radixtree.h.
#define RT_NODE_16_GET_INSERTPOS RT_MAKE_NAME(node_16_get_insertpos) |
Definition at line 213 of file radixtree.h.
#define RT_NODE_16_SEARCH_EQ RT_MAKE_NAME(node_16_search_eq) |
Definition at line 211 of file radixtree.h.
#define RT_NODE_256 RT_MAKE_NAME(node_256) |
Definition at line 257 of file radixtree.h.
#define RT_NODE_256_GET_CHILD RT_MAKE_NAME(node_256_get_child) |
Definition at line 221 of file radixtree.h.
#define RT_NODE_256_IS_CHUNK_USED RT_MAKE_NAME(node_256_is_chunk_used) |
Definition at line 220 of file radixtree.h.
#define RT_NODE_4 RT_MAKE_NAME(node_4) |
Definition at line 254 of file radixtree.h.
#define RT_NODE_48 RT_MAKE_NAME(node_48) |
Definition at line 256 of file radixtree.h.
#define RT_NODE_48_GET_CHILD RT_MAKE_NAME(node_48_get_child) |
Definition at line 219 of file radixtree.h.
#define RT_NODE_48_IS_CHUNK_USED RT_MAKE_NAME(node_48_is_chunk_used) |
Definition at line 218 of file radixtree.h.
#define RT_NODE_4_GET_INSERTPOS RT_MAKE_NAME(node_4_get_insertpos) |
Definition at line 212 of file radixtree.h.
#define RT_NODE_DELETE RT_MAKE_NAME(node_delete) |
Definition at line 225 of file radixtree.h.
#define RT_NODE_INSERT RT_MAKE_NAME(node_insert) |
Definition at line 226 of file radixtree.h.
#define RT_NODE_ITER RT_MAKE_NAME(node_iter) |
Definition at line 253 of file radixtree.h.
#define RT_NODE_ITERATE_NEXT RT_MAKE_NAME(node_iterate_next) |
Definition at line 241 of file radixtree.h.
#define RT_NODE_KIND_16 0x01 |
Definition at line 361 of file radixtree.h.
#define RT_NODE_KIND_256 0x03 |
Definition at line 363 of file radixtree.h.
#define RT_NODE_KIND_4 0x00 |
Definition at line 360 of file radixtree.h.
#define RT_NODE_KIND_48 0x02 |
Definition at line 362 of file radixtree.h.
#define RT_NODE_KIND_COUNT 4 |
Definition at line 364 of file radixtree.h.
#define RT_NODE_MAX_SLOTS (1 << RT_SPAN) |
Definition at line 320 of file radixtree.h.
#define RT_NODE_MUST_GROW | ( | node | ) | ((node)->count == (node)->fanout) |
Definition at line 1131 of file radixtree.h.
#define RT_NODE_SEARCH RT_MAKE_NAME(node_search) |
Definition at line 224 of file radixtree.h.
#define RT_NUM_SIZE_CLASSES lengthof(RT_SIZE_CLASS_INFO) |
Definition at line 678 of file radixtree.h.
#define RT_PTR_ALLOC RT_NODE * |
Definition at line 404 of file radixtree.h.
#define RT_PTR_ALLOC_IS_VALID | ( | ptr | ) | PointerIsValid(ptr) |
Definition at line 406 of file radixtree.h.
#define RT_PTR_SET_LOCAL RT_MAKE_NAME(ptr_set_local) |
Definition at line 210 of file radixtree.h.
#define RT_RADIX_TREE RT_MAKE_NAME(radix_tree) |
Definition at line 245 of file radixtree.h.
#define RT_RADIX_TREE_CONTROL RT_MAKE_NAME(radix_tree_control) |
Definition at line 246 of file radixtree.h.
#define RT_REMOVE_CHILD_16 RT_MAKE_NAME(remove_child_16) |
Definition at line 235 of file radixtree.h.
#define RT_REMOVE_CHILD_256 RT_MAKE_NAME(remove_child_256) |
Definition at line 237 of file radixtree.h.
#define RT_REMOVE_CHILD_4 RT_MAKE_NAME(remove_child_4) |
Definition at line 234 of file radixtree.h.
#define RT_REMOVE_CHILD_48 RT_MAKE_NAME(remove_child_48) |
Definition at line 236 of file radixtree.h.
#define RT_SET RT_MAKE_NAME(set) |
Definition at line 186 of file radixtree.h.
#define RT_SHIFT_ARRAYS_AND_DELETE RT_MAKE_NAME(shift_arrays_and_delete) |
Definition at line 215 of file radixtree.h.
#define RT_SHIFT_ARRAYS_FOR_INSERT RT_MAKE_NAME(shift_arrays_for_insert) |
Definition at line 214 of file radixtree.h.
#define RT_SHIFT_GET_MAX_VAL RT_MAKE_NAME(shift_get_max_val) |
Definition at line 223 of file radixtree.h.
#define RT_SHRINK_NODE_16 RT_MAKE_NAME(shrink_child_16) |
Definition at line 238 of file radixtree.h.
#define RT_SHRINK_NODE_256 RT_MAKE_NAME(shrink_child_256) |
Definition at line 240 of file radixtree.h.
#define RT_SHRINK_NODE_48 RT_MAKE_NAME(shrink_child_48) |
Definition at line 239 of file radixtree.h.
#define RT_SIZE_CLASS RT_MAKE_NAME(size_class) |
Definition at line 258 of file radixtree.h.
#define RT_SIZE_CLASS_ELEM RT_MAKE_NAME(size_class_elem) |
Definition at line 259 of file radixtree.h.
#define RT_SIZE_CLASS_INFO RT_MAKE_NAME(size_class_info) |
Definition at line 260 of file radixtree.h.
#define RT_SLAB_BLOCK_SIZE | ( | size | ) | Max(SLAB_DEFAULT_BLOCK_SIZE, pg_nextpower2_32(size * 32)) |
Definition at line 370 of file radixtree.h.
#define RT_SPAN BITS_PER_BYTE |
Definition at line 314 of file radixtree.h.
#define RT_STATS RT_MAKE_NAME(stats) |
Definition at line 195 of file radixtree.h.
#define RT_STR | ( | s | ) | RT_STR_(s) |
Definition at line 171 of file radixtree.h.
#define RT_STR_ | ( | s | ) | #s |
Definition at line 172 of file radixtree.h.
#define RT_VALUE_IS_EMBEDDABLE RT_MAKE_NAME(value_is_embeddable) |
Definition at line 199 of file radixtree.h.
#define RT_VERIFY_NODE RT_MAKE_NAME(verify_node) |
Definition at line 242 of file radixtree.h.
typedef union RT_CHILD_PTR RT_CHILD_PTR |
Definition at line 271 of file radixtree.h.
typedef struct RT_NODE_16 RT_NODE_16 |
typedef struct RT_NODE_256 RT_NODE_256 |
typedef struct RT_NODE_48 RT_NODE_48 |
typedef struct RT_NODE_ITER RT_NODE_ITER |
typedef struct RT_RADIX_TREE RT_RADIX_TREE |
Definition at line 270 of file radixtree.h.
typedef struct RT_RADIX_TREE_CONTROL RT_RADIX_TREE_CONTROL |
typedef enum RT_SIZE_CLASS RT_SIZE_CLASS |
typedef struct RT_SIZE_CLASS_ELEM RT_SIZE_CLASS_ELEM |
enum RT_SIZE_CLASS |
Enumerator | |
---|---|
RT_CLASS_4 | |
RT_CLASS_16_LO | |
RT_CLASS_16_HI | |
RT_CLASS_48 | |
RT_CLASS_256 |
Definition at line 632 of file radixtree.h.
for | ( | ) |
Definition at line 1841 of file radixtree.h.
References RT_SIZE_CLASS_ELEM::allocsize, i, RT_SIZE_CLASS_ELEM::name, RT_SIZE_CLASS_INFO, RT_SLAB_BLOCK_SIZE, SlabContextCreate(), and tree.
Referenced by RT_ADD_CHILD_48().
|
inlinestatic |
Definition at line 1457 of file radixtree.h.
References RT_NODE_16::base, RT_NODE_16::children, RT_NODE_16::chunks, RT_NODE::count, RT_CHILD_PTR::local, RT_NODE_16_GET_INSERTPOS, RT_SHIFT_ARRAYS_FOR_INSERT, and RT_VERIFY_NODE.
|
inlinestatic |
Definition at line 1269 of file radixtree.h.
References RT_NODE_256::base, RT_NODE::count, idx(), RT_NODE_256::isset, RT_CHILD_PTR::local, RT_BM_BIT, RT_BM_IDX, RT_NODE_256_GET_CHILD, and RT_VERIFY_NODE.
|
inlinestatic |
Definition at line 1510 of file radixtree.h.
References RT_NODE_4::base, RT_NODE_4::children, RT_NODE_4::chunks, RT_NODE::count, RT_CHILD_PTR::local, RT_NODE_4_GET_INSERTPOS, RT_SHIFT_ARRAYS_FOR_INSERT, and RT_VERIFY_NODE.
|
inlinestatic |
Definition at line 1332 of file radixtree.h.
References Assert(), RT_NODE_48::base, BITS_PER_BITMAPWORD, bmw_rightmost_one_pos, RT_NODE_48::children, RT_NODE::count, for(), i, idx(), RT_NODE_48::isset, RT_CHILD_PTR::local, RT_BM_IDX, RT_FANOUT_48_MAX, RT_VERIFY_NODE, and RT_NODE_48::slot_idxs.
|
static |
Definition at line 894 of file radixtree.h.
References RT_CHILD_PTR::alloc, dsa_allocate, MemoryContextAlloc(), RT_PTR_ALLOC, RT_PTR_SET_LOCAL, and tree.
|
inlinestatic |
Definition at line 831 of file radixtree.h.
References RT_CHILD_PTR::alloc, dsa_allocate, RT_NODE::fanout, RT_NODE::kind, RT_CHILD_PTR::local, MemoryContextAlloc(), pg_unreachable, RT_INVALID_SLOT_IDX, RT_NODE_KIND_16, RT_NODE_KIND_256, RT_NODE_KIND_4, RT_NODE_KIND_48, RT_PTR_ALLOC, RT_PTR_SET_LOCAL, RT_SIZE_CLASS_INFO, RT_NODE_48::slot_idxs, and tree.
RT_SCOPE RT_ITER * RT_BEGIN_ITERATE | ( | RT_RADIX_TREE * | tree | ) |
Definition at line 2055 of file radixtree.h.
References Assert(), RT_RADIX_TREE::ctl, RT_ITER::cur_level, RT_NODE_ITER::idx, RT_NODE_ITER::node, RT_ITER::node_iters, palloc0(), RT_RADIX_TREE_CONTROL::root, root, RT_PTR_ALLOC_IS_VALID, RT_PTR_SET_LOCAL, RT_SPAN, RT_RADIX_TREE_CONTROL::start_shift, RT_ITER::top_level, RT_ITER::tree, and tree.
|
inlinestatic |
Definition at line 463 of file radixtree.h.
References RT_PTR_ALLOC, and RT_VALUE_TYPE.
|
inlinestatic |
Definition at line 1252 of file radixtree.h.
References i.
|
inlinestatic |
Definition at line 917 of file radixtree.h.
References RT_CHILD_PTR::local.
RT_SCOPE RT_RADIX_TREE * RT_CREATE | ( | MemoryContext | ctx | ) |
Definition at line 2228 of file radixtree.h.
References pfree().
|
static |
Definition at line 1613 of file radixtree.h.
References RT_CHILD_PTR::alloc, Assert(), RT_NODE_4::base, RT_NODE_4::children, RT_NODE_4::chunks, RT_NODE::count, sort-test::key, RT_CHILD_PTR::local, RT_ALLOC_NODE, RT_CLASS_4, RT_GET_KEY_CHUNK, RT_NODE_KIND_4, RT_SPAN, and tree.
|
static |
Definition at line 1578 of file radixtree.h.
References RT_CHILD_PTR::alloc, Assert(), RT_NODE_4::base, RT_NODE_4::children, RT_NODE_4::chunks, RT_NODE::count, sort-test::key, RT_CHILD_PTR::local, RT_ALLOC_NODE, RT_CLASS_4, RT_KEY_GET_SHIFT, RT_NODE_KIND_4, RT_SHIFT_GET_MAX_VAL, RT_SPAN, and tree.
RT_SCOPE RT_VALUE_TYPE * RT_FIND | ( | RT_RADIX_TREE * | tree, |
uint64 | key | ||
) |
Definition at line 1091 of file radixtree.h.
References RT_CHILD_PTR::alloc, Assert(), sort-test::key, RT_CHILD_PTR::local, RT_CHILDPTR_IS_VALUE, RT_GET_KEY_CHUNK, RT_NODE_SEARCH, RT_PTR_ALLOC, RT_PTR_ALLOC_IS_VALID, RT_PTR_SET_LOCAL, RT_SPAN, RT_VALUE_TYPE, and tree.
RT_SCOPE void RT_FREE | ( | RT_RADIX_TREE * | tree | ) |
Definition at line 2018 of file radixtree.h.
References Assert(), dsa_free(), MemoryContextReset(), pfree(), RT_FREE_RECURSE, RT_PTR_ALLOC_IS_VALID, and tree.
|
inlinestatic |
Definition at line 956 of file radixtree.h.
References Assert(), dsa_free(), pfree(), and tree.
|
static |
Definition at line 924 of file radixtree.h.
References RT_CHILD_PTR::alloc, Assert(), dsa_free(), i, RT_CHILD_PTR::local, pfree(), RT_CLASS_256, RT_NUM_SIZE_CLASSES, RT_SIZE_CLASS_INFO, and tree.
|
static |
Definition at line 1660 of file radixtree.h.
References RT_CHILD_PTR::alloc, sort-test::key, RT_CHILD_PTR::local, RT_EXTEND_DOWN, RT_GET_KEY_CHUNK, RT_GET_SLOT_RECURSIVE, RT_NODE_INSERT, RT_NODE_SEARCH, RT_PTR_ALLOC, RT_PTR_SET_LOCAL, RT_SPAN, and tree.
|
static |
Definition at line 1370 of file radixtree.h.
References RT_CHILD_PTR::alloc, Assert(), RT_NODE_16::base, RT_NODE_48::base, bit(), BITS_PER_BITMAPWORD, RT_NODE_16::children, RT_NODE_48::children, RT_NODE_16::chunks, RT_NODE::count, RT_NODE::fanout, i, idx(), if(), RT_NODE_48::isset, RT_CHILD_PTR::local, RT_ALLOC_NODE, RT_BM_BIT, RT_BM_IDX, RT_CLASS_16_HI, RT_CLASS_48, RT_COPY_ARRAYS_FOR_INSERT, RT_COPY_COMMON, RT_FANOUT_16_HI, RT_FANOUT_16_LO, RT_FREE_NODE, RT_NODE_16_GET_INSERTPOS, RT_NODE_KIND_16, RT_NODE_KIND_48, RT_VERIFY_NODE, RT_NODE_48::slot_idxs, and tree.
|
static |
Definition at line 1476 of file radixtree.h.
References RT_CHILD_PTR::alloc, Assert(), RT_NODE_4::base, RT_NODE_16::base, RT_NODE_4::children, RT_NODE_16::children, RT_NODE_16::chunks, RT_NODE_4::chunks, RT_NODE::count, RT_CHILD_PTR::local, RT_ALLOC_NODE, RT_CLASS_16_LO, RT_COPY_ARRAYS_FOR_INSERT, RT_COPY_COMMON, RT_FANOUT_4, RT_FREE_NODE, RT_NODE_4_GET_INSERTPOS, RT_NODE_KIND_16, RT_VERIFY_NODE, and tree.
|
static |
Definition at line 1285 of file radixtree.h.
References bit(), BITS_PER_BITMAPWORD, RT_NODE_48::children, i, RT_CHILD_PTR::local, RT_ADD_CHILD_256, RT_ALLOC_NODE, RT_BM_IDX, RT_CLASS_256, RT_COPY_COMMON, RT_FREE_NODE, RT_INVALID_SLOT_IDX, RT_NODE_KIND_256, RT_NODE_MAX_SLOTS, RT_NODE_48::slot_idxs, and tree.
RT_SCOPE RT_VALUE_TYPE * RT_ITERATE_NEXT | ( | RT_ITER * | iter, |
uint64 * | key_p | ||
) |
Definition at line 2178 of file radixtree.h.
References RT_CHILD_PTR::alloc, RT_ITER::cur_level, RT_NODE_ITER::idx, RT_ITER::key, RT_CHILD_PTR::local, RT_NODE_ITER::node, RT_ITER::node_iters, RT_CHILDPTR_IS_VALUE, RT_NODE_ITERATE_NEXT, RT_PTR_ALLOC, RT_PTR_SET_LOCAL, RT_VALUE_TYPE, RT_ITER::top_level, and RT_ITER::tree.
|
inlinestatic |
Definition at line 807 of file radixtree.h.
References sort-test::key, pg_leftmost_one_pos64(), and RT_SPAN.
RT_SCOPE uint64 RT_MEMORY_USAGE | ( | RT_RADIX_TREE * | tree | ) |
Definition at line 2648 of file radixtree.h.
References Assert(), dsa_get_total_size(), MemoryContextMemAllocated(), and tree.
|
inlinestatic |
Definition at line 1157 of file radixtree.h.
References Assert(), RT_NODE_16::base, RT_NODE_16::chunks, RT_NODE::count, pg_rightmost_one_pos32(), UINT64CONST, vector8_broadcast(), and vector8_load().
|
inlinestatic |
Definition at line 980 of file radixtree.h.
References Assert(), RT_NODE_16::base, RT_NODE_16::children, RT_NODE_16::chunks, RT_NODE::count, i, pg_rightmost_one_pos32(), RT_PTR_ALLOC, UINT64CONST, vector8_broadcast(), and vector8_load().
|
inlinestatic |
Definition at line 797 of file radixtree.h.
References Assert(), RT_NODE_256::children, and RT_NODE_256_IS_CHUNK_USED.
|
inlinestatic |
Definition at line 788 of file radixtree.h.
References idx(), RT_NODE_256::isset, RT_BM_BIT, and RT_BM_IDX.
|
inlinestatic |
Definition at line 781 of file radixtree.h.
References RT_NODE_48::children, and RT_NODE_48::slot_idxs.
|
inlinestatic |
Definition at line 775 of file radixtree.h.
References RT_INVALID_SLOT_IDX, and RT_NODE_48::slot_idxs.
|
inlinestatic |
Definition at line 1538 of file radixtree.h.
References RT_NODE::kind, RT_CHILD_PTR::local, pg_unreachable, RT_ADD_CHILD_16, RT_ADD_CHILD_256, RT_ADD_CHILD_4, RT_ADD_CHILD_48, RT_GROW_NODE_16, RT_GROW_NODE_4, RT_GROW_NODE_48, RT_NODE_KIND_16, RT_NODE_KIND_256, RT_NODE_KIND_4, RT_NODE_KIND_48, RT_NODE_MUST_GROW, tree, and unlikely.
|
inlinestatic |
Definition at line 2082 of file radixtree.h.
References Assert(), RT_NODE_4::base, RT_NODE_16::base, RT_NODE_4::children, RT_NODE_16::children, RT_NODE_16::chunks, RT_NODE_4::chunks, RT_NODE::count, RT_RADIX_TREE::ctl, RT_NODE_ITER::idx, RT_ITER::key, RT_CHILD_PTR::local, RT_NODE_ITER::node, RT_ITER::node_iters, RT_CHUNK_MASK, RT_NODE_256_GET_CHILD, RT_NODE_256_IS_CHUNK_USED, RT_NODE_48_GET_CHILD, RT_NODE_48_IS_CHUNK_USED, RT_NODE_KIND_16, RT_NODE_KIND_256, RT_NODE_KIND_4, RT_NODE_KIND_48, RT_NODE_MAX_SLOTS, RT_PTR_ALLOC, RT_SPAN, and RT_ITER::tree.
|
inlinestatic |
Definition at line 1039 of file radixtree.h.
References Assert(), RT_NODE_4::base, RT_NODE_4::children, RT_NODE_4::chunks, RT_NODE::count, i, RT_NODE::kind, pg_unreachable, RT_INVALID_SLOT_IDX, RT_NODE_16_SEARCH_EQ, RT_NODE_256_GET_CHILD, RT_NODE_256_IS_CHUNK_USED, RT_NODE_48_GET_CHILD, RT_NODE_KIND_16, RT_NODE_KIND_256, RT_NODE_KIND_4, RT_NODE_KIND_48, and RT_NODE_48::slot_idxs.
|
inlinestatic |
Definition at line 764 of file radixtree.h.
References RT_CHILD_PTR::alloc, dsa_get_address(), RT_CHILD_PTR::local, and tree.
RT_SCOPE bool RT_SET | ( | RT_RADIX_TREE * | tree, |
uint64 | key, | ||
RT_VALUE_TYPE * | value_p | ||
) |
Definition at line 1702 of file radixtree.h.
References RT_CHILD_PTR::alloc, Assert(), RT_NODE_4::base, RT_NODE_4::children, RT_NODE_4::chunks, RT_NODE::count, sort-test::key, RT_CHILD_PTR::local, RT_ALLOC_LEAF, RT_CHILDPTR_IS_VALUE, RT_EXTEND_DOWN, RT_EXTEND_UP, RT_FREE_LEAF, RT_GET_KEY_CHUNK, RT_GET_SLOT_RECURSIVE, RT_GET_VALUE_SIZE, RT_KEY_GET_SHIFT, RT_PTR_ALLOC, RT_PTR_ALLOC_IS_VALID, RT_PTR_SET_LOCAL, RT_SHIFT_GET_MAX_VAL, RT_VALUE_IS_EMBEDDABLE, RT_VALUE_TYPE, start_shift, tree, and unlikely.
|
inlinestatic |
Definition at line 1230 of file radixtree.h.
References i.
|
static |
Definition at line 819 of file radixtree.h.
References RT_MAX_SHIFT, RT_SPAN, and UINT64CONST.
|
inlinestatic |
Definition at line 443 of file radixtree.h.
References RT_GET_VALUE_SIZE, and RT_PTR_ALLOC.
|
static |
Definition at line 2666 of file radixtree.h.
References Assert(), RT_NODE_4::base, RT_NODE_16::base, RT_NODE_48::base, RT_NODE_256::base, bmw_popcount, RT_NODE_16::chunks, RT_NODE_4::chunks, RT_NODE::count, i, idx(), RT_NODE_256::isset, RT_NODE_48::isset, RT_NODE::kind, RT_BM_BIT, RT_BM_IDX, RT_FANOUT_256, RT_NODE_48_IS_CHUNK_USED, RT_NODE_KIND_16, RT_NODE_KIND_256, RT_NODE_KIND_4, RT_NODE_KIND_48, RT_NODE_MAX_SLOTS, and RT_NODE_48::slot_idxs.
StaticAssertDecl | ( | ) |
StaticAssertDecl | ( | RT_FANOUT_48<= | RT_FANOUT_48_MAX, |
"more slots than isset bits" | |||
) |
StaticAssertDecl | ( | RT_FANOUT_4<= | RT_FANOUT_4_MAX, |
"watch struct padding" | |||
) |
tree ctl = (RT_RADIX_TREE_CONTROL *) palloc0(sizeof(RT_RADIX_TREE_CONTROL)) |
Definition at line 1838 of file radixtree.h.
Referenced by AddPendingSync(), assign_record_type_typmod(), BuildEventTriggerCache(), cfunc_hashtable_init(), CompactCheckpointerRequestQueue(), create_seq_hashtable(), createConnHash(), CreatePartitionDirectory(), do_autovacuum(), EnablePortalManager(), find_all_inheritors(), find_oper_cache_entry(), find_rendezvous_variable(), get_json_object_as_hash(), GetConnection(), init_rel_sync_cache(), init_ts_config_cache(), InitializeAttoptCache(), InitializeRelfilenumberMap(), InitializeShippableCache(), InitializeTableSpaceCache(), json_unique_check_init(), load_categories_hash(), log_invalid_page(), logicalrep_partmap_init(), logicalrep_relmap_init(), lookup_proof_cache(), lookup_ts_dictionary_cache(), lookup_ts_parser_cache(), lookup_type_cache(), LookupOpclassInfo(), pa_allocate_worker(), pg_get_backend_memory_contexts(), plpgsql_estate_setup(), populate_recordset_object_start(), process_syncing_tables_for_apply(), ProcessGetMemoryContextInterrupt(), RegisterExtensibleNodeEntry(), RelationCacheInitialize(), ResetUnloggedRelationsInDbspaceDir(), ri_InitHashTables(), SerializePendingSyncs(), SimpleLruDoesPhysicalPageExist(), SimpleLruGetBankLock(), SimpleLruInit(), SimpleLruReadPage(), SimpleLruReadPage_ReadOnly(), SimpleLruTruncate(), SimpleLruWaitIO(), SimpleLruWriteAll(), SimpleLruWritePage(), SimpleLruZeroLSNs(), SimpleLruZeroPage(), SlruCorrectSegmentFilenameLength(), SlruDeleteSegment(), SlruFileName(), SlruInternalDeleteSegment(), SlruInternalWritePage(), SlruMayDeleteSegment(), SlruPhysicalReadPage(), SlruPhysicalWritePage(), SlruReportIOError(), SlruScanDirCbDeleteAll(), SlruScanDirCbDeleteCutoff(), SlruScanDirCbFindEarliest(), SlruScanDirCbReportPresence(), SlruScanDirectory(), SlruSelectLRUPage(), SlruSyncFileTag(), smgropen(), StatsShmemInit(), test_slru_scan_cb(), and XLogPrefetcherAllocate().
tree leaf_context = ctx |
Definition at line 1852 of file radixtree.h.
tree ctl max_val = RT_SHIFT_GET_MAX_VAL(0) |
Definition at line 1859 of file radixtree.h.
Referenced by add_int_reloption(), add_local_int_reloption(), add_local_real_reloption(), add_real_reloption(), init_int_reloption(), and init_real_reloption().
Definition at line 1857 of file radixtree.h.
Referenced by _int_matchsel(), add_base_clause_to_rel(), add_base_rels_to_query(), add_child_eq_member(), add_child_join_rel_equivalences(), add_child_rel_equivalences(), add_foreign_final_paths(), add_foreign_grouping_paths(), add_foreign_ordered_paths(), add_function_cost(), add_join_clause_to_rels(), add_join_rel(), add_non_redundant_clauses(), add_nullingrels_if_needed(), add_other_rels_to_query(), add_outer_joins_to_relids(), add_paths_to_append_rel(), add_paths_to_grouping_rel(), add_paths_to_joinrel(), add_paths_with_pathkeys_for_rel(), add_placeholders_to_base_rels(), add_placeholders_to_joinrel(), add_row_identity_columns(), add_row_identity_var(), add_rtes_to_flat_rtable(), add_setop_child_rel_equivalences(), add_unique_group_var(), add_vars_to_attr_needed(), add_vars_to_targetlist(), adjust_appendrel_attrs(), adjust_appendrel_attrs_multilevel(), adjust_child_relids_multilevel(), adjust_foreign_grouping_path_cost(), adjust_group_pathkeys_for_groupagg(), adjust_inherited_attnums_multilevel(), adjust_paths_for_srfs(), adjust_rowcount_for_semijoins(), appendLimitClause(), apply_child_basequals(), apply_projection_to_path(), apply_scanjoin_target_to_paths(), approx_tuple_count(), approximate_joinrel_size(), arraycontsel(), assign_param_for_placeholdervar(), assign_param_for_var(), assign_special_exec_param(), bernoulli_samplescangetsamplesize(), bitmap_and_cost_est(), bitmap_scan_cost_est(), blcostestimate(), booltestsel(), boolvarsel(), brincostestimate(), btcostestimate(), build_base_rel_tlists(), build_child_join_rel(), build_child_join_reltarget(), build_child_join_sjinfo(), build_expression_pathkey(), build_implied_join_equality(), build_index_pathkeys(), build_index_paths(), build_join_pathkeys(), build_join_rel(), build_join_rel_hash(), build_joinrel_partition_info(), build_joinrel_restrictlist(), build_joinrel_tlist(), build_minmax_path(), build_partition_pathkeys(), build_path_tlist(), build_paths_for_OR(), build_physical_tlist(), build_setop_child_paths(), build_simple_rel(), build_subplan(), BuildParameterizedTidPaths(), cached_scansel(), calc_joinrel_size_estimate(), can_minmax_aggs(), can_partial_agg(), check_index_predicates(), check_redundant_nullability_qual(), choose_bitmap_and(), classifyConditions(), clause_selectivity(), clause_selectivity_ext(), clauselist_apply_dependencies(), clauselist_selectivity(), clauselist_selectivity_ext(), clauselist_selectivity_or(), clean_NOT(), cleanup_tsquery_stopwords(), compute_bitmap_pages(), compute_partition_bounds(), compute_semi_anti_join_factors(), compute_semijoin_info(), consider_groupingsets_paths(), consider_index_join_clauses(), consider_index_join_outer_rels(), consider_new_or_clause(), consider_parallel_mergejoin(), consider_parallel_nestloop(), contain_placeholder_references_to(), convert_ANY_sublink_to_join(), convert_EXISTS_sublink_to_join(), convert_EXISTS_to_ANY(), convert_subquery_pathkeys(), convert_testexpr(), convert_VALUES_to_ANY(), cost_agg(), cost_bitmap_heap_scan(), cost_ctescan(), cost_functionscan(), cost_group(), cost_incremental_sort(), cost_index(), cost_memoize_rescan(), cost_namedtuplestorescan(), cost_qual_eval(), cost_qual_eval_node(), cost_rescan(), cost_resultscan(), cost_samplescan(), cost_seqscan(), cost_subplan(), cost_subqueryscan(), cost_tablefuncscan(), cost_tidrangescan(), cost_tidscan(), cost_valuesscan(), cost_windowagg(), create_agg_path(), create_agg_plan(), create_append_path(), create_append_plan(), create_bitmap_and_path(), create_bitmap_heap_path(), create_bitmap_or_path(), create_bitmap_scan_plan(), create_bitmap_subplan(), create_ctescan_path(), create_ctescan_plan(), create_customscan_plan(), create_degenerate_grouping_paths(), create_distinct_paths(), create_final_distinct_paths(), create_foreignscan_path(), create_foreignscan_plan(), create_functionscan_path(), create_functionscan_plan(), create_gather_merge_path(), create_gather_merge_plan(), create_gather_path(), create_gather_plan(), create_gating_plan(), create_group_path(), create_group_plan(), create_group_result_path(), create_group_result_plan(), create_grouping_paths(), create_groupingsets_path(), create_groupingsets_plan(), create_hashjoin_path(), create_hashjoin_plan(), create_incremental_sort_path(), create_incrementalsort_plan(), create_index_path(), create_index_paths(), create_indexscan_plan(), create_join_clause(), create_join_plan(), create_lateral_join_info(), create_limit_plan(), create_lockrows_plan(), create_material_plan(), create_memoize_plan(), create_merge_append_path(), create_merge_append_plan(), create_mergejoin_path(), create_mergejoin_plan(), create_minmaxagg_path(), create_minmaxagg_plan(), create_modifytable_plan(), create_namedtuplestorescan_path(), create_namedtuplestorescan_plan(), create_nestloop_path(), create_nestloop_plan(), create_one_window_path(), create_ordered_paths(), create_ordinary_grouping_paths(), create_partial_bitmap_paths(), create_partial_distinct_paths(), create_partial_grouping_paths(), create_partitionwise_grouping_paths(), create_plain_partial_paths(), create_plan(), create_plan_recurse(), create_project_set_plan(), create_projection_path(), create_projection_plan(), create_recursiveunion_plan(), create_resultscan_path(), create_resultscan_plan(), create_samplescan_path(), create_samplescan_plan(), create_scan_plan(), create_seqscan_path(), create_seqscan_plan(), create_set_projection_path(), create_setop_plan(), create_sort_path(), create_sort_plan(), create_subqueryscan_path(), create_subqueryscan_plan(), create_tablefuncscan_path(), create_tablefuncscan_plan(), create_tidrangescan_path(), create_tidrangescan_plan(), create_tidscan_path(), create_tidscan_paths(), create_tidscan_plan(), create_unique_path(), create_unique_plan(), create_upper_unique_plan(), create_valuesscan_path(), create_valuesscan_plan(), create_window_paths(), create_windowagg_path(), create_windowagg_plan(), create_worktablescan_path(), create_worktablescan_plan(), deconstruct_distribute(), deconstruct_distribute_oj_quals(), deconstruct_jointree(), deconstruct_recurse(), deparseDirectDeleteSql(), deparseDirectUpdateSql(), deparseFromExprForRel(), deparseLockingClause(), deparseRangeTblRef(), deparseSelectSql(), deparseSelectStmtForRel(), dependencies_clauselist_selectivity(), desirable_join(), distribute_qual_to_rels(), distribute_quals_to_rels(), distribute_restrictinfo_to_rels(), distribute_row_identity_vars(), dofindsubquery(), ec_build_derives_hash(), ec_search_clause_for_ems(), ec_search_derived_clause_for_ems(), edge_failure(), eqjoinsel(), eqsel_internal(), estimate_array_length(), estimate_expression_value(), estimate_hash_bucket_stats(), estimate_hashagg_tablesize(), estimate_multivariate_bucketsize(), estimate_multivariate_ndistinct(), estimate_num_groups(), estimate_path_cost_size(), estimate_size(), eval_const_expressions(), examine_indexcol_variable(), examine_simple_variable(), examine_variable(), expand_appendrel_subquery(), expand_indexqual_rowcompare(), expand_inherited_rtentry(), expand_insert_targetlist(), expand_partitioned_rtentry(), expand_planner_arrays(), expand_single_inheritance_child(), expand_virtual_generated_columns(), expr_is_nonnullable(), expression_planner_with_deps(), expression_returns_set_rows(), exprs_known_equal(), extract_jsp_query(), extract_lateral_references(), extract_lateral_vars_from_PHVs(), extract_query_dependencies(), extract_restriction_or_clauses(), fetch_upper_rel(), fileGetForeignPaths(), fileGetForeignRelSize(), final_cost_hashjoin(), final_cost_mergejoin(), final_cost_nestloop(), finalize_plan(), find_appinfos_by_relids(), find_base_rel(), find_base_rel_ignore_join(), find_base_rel_noerr(), find_childrel_parents(), find_compatible_agg(), find_compatible_trans(), find_computable_ec_member(), find_dependent_phvs(), find_dependent_phvs_in_jointree(), find_derived_clause_for_ec_member(), find_em_for_rel(), find_em_for_rel_target(), find_join_domain(), find_join_input_rel(), find_join_rel(), find_lateral_references(), find_mergeclauses_for_outer_pathkeys(), find_minmax_agg_replacement_param(), find_partition_scheme(), find_placeholder_info(), find_placeholders_in_expr(), find_placeholders_in_jointree(), find_placeholders_recurse(), find_simplified_clause(), find_single_rel_for_clauses(), findsubquery(), fix_alternative_subplan(), fix_append_rel_relids(), fix_expr_common(), fix_indexorderby_references(), fix_indexqual_clause(), fix_indexqual_references(), fix_join_expr(), fix_param_node(), fix_placeholder_input_needed_levels(), fix_scan_expr(), fix_upper_expr(), fix_windowagg_condition_expr(), flatten_group_exprs(), flatten_join_alias_vars(), flatten_simple_union_all(), foreign_grouping_ok(), foreign_join_ok(), FreePageBtreeCleanup(), FreePageManagerDump(), FreePageManagerPutInternal(), function_selectivity(), gather_grouping_paths(), generate_base_implied_equalities(), generate_base_implied_equalities_broken(), generate_base_implied_equalities_const(), generate_base_implied_equalities_no_const(), generate_bitmap_or_paths(), generate_gather_paths(), generate_implied_equalities_for_column(), generate_join_implied_equalities(), generate_join_implied_equalities_broken(), generate_join_implied_equalities_for_ecs(), generate_join_implied_equalities_normal(), generate_mergejoin_paths(), generate_new_exec_param(), generate_nonunion_paths(), generate_orderedappend_paths(), generate_partitionwise_join_paths(), generate_recursion_path(), generate_subquery_params(), generate_union_paths(), generate_useful_gather_paths(), generic_restriction_selectivity(), genericcostestimate(), geqo(), geqo_eval(), geqo_rand(), geqo_randint(), geqo_selection(), geqo_set_seed(), get_actual_variable_range(), get_agg_clause_costs(), get_baserel_parampathinfo(), get_cheapest_parameterized_child_path(), get_common_eclass_indexes(), get_dependent_generated_columns(), get_eclass_for_sort_expr(), get_eclass_indexes_for_relids(), get_expr_width(), get_foreign_key_join_selectivity(), get_function_rows(), get_gating_quals(), get_index_clause_from_support(), get_index_paths(), get_join_domain_min_rels(), get_join_index_paths(), get_join_variables(), get_joinrel_parampathinfo(), get_json_table(), get_loop_count(), get_matching_part_pairs(), get_memoize_path(), get_number_of_groups(), get_parameterized_baserel_size(), get_parameterized_joinrel_size(), get_rel_all_updated_cols(), get_relation_constraints(), get_relation_foreign_keys(), get_relation_info(), get_restriction_qual_cost(), get_restriction_variable(), get_result_relid(), get_row_security_policies(), get_translated_update_targetlist(), get_useful_ecs_for_relation(), get_useful_group_keys_orderings(), get_useful_pathkeys_for_distinct(), get_useful_pathkeys_for_relation(), get_variable_range(), get_windowclause_startup_tuples(), gimme_edge_table(), gimme_gene(), gimme_tour(), gimme_tree(), gincost_opexpr(), gincost_scalararrayopexpr(), gincostestimate(), ginDataFillRoot(), ginEntryFillRoot(), ginFindParents(), ginVacuumPostingTree(), gistcostestimate(), group_similar_or_args(), grouping_planner(), has_join_restriction(), has_legal_joinclause(), has_relevant_eclass_joinclause(), has_row_triggers(), has_stored_generated_columns(), has_useful_pathkeys(), hash_inner_and_outer(), hashcostestimate(), have_dangerous_phv(), have_join_order_restriction(), have_partkey_equi_join(), have_relevant_eclass_joinclause(), have_relevant_joinclause(), identify_current_nestloop_params(), index_other_operands_eval_cost(), index_pages_fetched(), indexcol_is_bool_constant_for_query(), ineq_histogram_selectivity(), infer_arbiter_indexes(), init_tour(), initial_cost_mergejoin(), initial_cost_nestloop(), initialize_mergeclause_eclasses(), inline_cte(), inline_set_returning_function(), innerrel_is_unique(), innerrel_is_unique_ext(), is_degenerate_grouping(), is_foreign_expr(), is_foreign_pathkey(), is_innerrel_unique_for(), is_parallel_safe(), is_pseudo_constant_for_index(), is_simple_subquery(), is_simple_values(), IsTidEqualAnyClause(), join_is_legal(), join_is_removable(), join_search_one_level(), join_selectivity(), jointree_contains_lateral_outer_refs(), label_incrementalsort_with_costsize(), label_sort_with_costsize(), linear_rand(), logicalrep_partition_open(), ltreeparentsel(), make_bitmap_paths_for_or_group(), make_canonical_pathkey(), make_group_input_target(), make_grouping_rel(), make_inner_pathkeys_for_merge(), make_join_rel(), make_modifytable(), make_one_rel(), make_ordered_path(), make_outerjoininfo(), make_partial_grouping_target(), make_partition_pruneinfo(), make_partitionedrel_pruneinfo(), make_pathkey_from_sortinfo(), make_pathkey_from_sortop(), make_pathkeys_for_sortclauses(), make_pathkeys_for_sortclauses_extended(), make_pathkeys_for_window(), make_placeholder_expr(), make_plain_restrictinfo(), make_rel_from_joinlist(), make_rels_by_clause_joins(), make_rels_by_clauseless_joins(), make_restrictinfo(), make_sort_input_target(), make_sub_restrictinfos(), make_subplan(), make_window_input_target(), mark_nullable_by_grouping(), mark_rels_nulled_by_join(), match_boolean_index_clause(), match_clause_to_index(), match_clause_to_indexcol(), match_clauses_to_index(), match_eclass_clauses_to_index(), match_eclasses_to_foreign_key_col(), match_foreign_keys_to_quals(), match_funcclause_to_indexcol(), match_join_clauses_to_index(), match_opclause_to_indexcol(), match_orclause_to_indexcol(), match_restriction_clauses_to_index(), match_rowcompare_to_indexcol(), match_saopclause_to_indexcol(), match_unsorted_outer(), matchingsel(), mcv_clause_selectivity_or(), mcv_clauselist_selectivity(), mcv_get_match_bitmap(), merge_clump(), mergejoinscansel(), minmax_qp_callback(), multirangesel(), neqjoinsel(), networkjoinsel(), networksel(), nulltestsel(), NumRelids(), optimize_window_clauses(), order_qual_clauses(), pathkeys_useful_for_distinct(), pathkeys_useful_for_grouping(), pathkeys_useful_for_merging(), pathkeys_useful_for_ordering(), pathkeys_useful_for_setop(), patternsel(), patternsel_common(), perform_pullup_replace_vars(), plaintree(), plan_cluster_use_sort(), plan_create_index_workers(), plan_set_operations(), plan_union_children(), populate_joinrel_with_paths(), postgresAddForeignUpdateTargets(), postgresGetForeignJoinPaths(), postgresGetForeignPaths(), postgresGetForeignPlan(), postgresGetForeignRelSize(), postgresGetForeignUpperPaths(), postgresPlanDirectModify(), postgresPlanForeignModify(), postprocess_setop_rel(), prefix_selectivity(), preprocess_aggref(), preprocess_aggrefs(), preprocess_aggrefs_walker(), preprocess_expression(), preprocess_function_rtes(), preprocess_groupclause(), preprocess_grouping_sets(), preprocess_limit(), preprocess_minmax_aggregates(), preprocess_phv_expression(), preprocess_qual_conditions(), preprocess_rowmarks(), preprocess_targetlist(), process_equivalence(), process_implied_equality(), process_security_barrier_quals(), process_subquery_nestloop_params(), pull_up_constant_function(), pull_up_simple_subquery(), pull_up_simple_union_all(), pull_up_simple_values(), pull_up_sublinks(), pull_up_sublinks_jointree_recurse(), pull_up_sublinks_qual_recurse(), pull_up_subqueries(), pull_up_subqueries_recurse(), pull_up_union_leaf_queries(), pull_varnos(), pull_varnos_of_level(), query_planner(), random_init_pool(), rangesel(), rebuild_eclass_attr_needed(), rebuild_joinclause_attr_needed(), rebuild_lateral_attr_needed(), rebuild_placeholder_attr_needed(), reconsider_full_join_clause(), reconsider_outer_join_clause(), reconsider_outer_join_clauses(), record_plan_function_dependency(), record_plan_type_dependency(), recurse_set_operations(), reduce_outer_joins(), reduce_outer_joins_pass2(), reduce_unique_semijoins(), register_partpruneinfo(), rel_is_distinct_for(), rel_supports_distinctness(), relation_can_be_sorted_early(), relation_excluded_by_constraints(), relation_has_unique_index_ext(), relation_has_unique_index_for(), remap_groupColIdx(), remove_join_clause_from_rels(), remove_leftjoinrel_from_query(), remove_rel_from_query(), remove_result_refs(), remove_self_join_rel(), remove_self_joins_one_group(), remove_self_joins_recurse(), remove_useless_groupby_columns(), remove_useless_joins(), remove_useless_result_rtes(), remove_useless_results_recurse(), remove_useless_self_joins(), reparameterize_path(), reparameterize_path_by_child(), reparameterize_pathlist_by_child(), replace_correlation_vars_mutator(), replace_nestloop_param_placeholdervar(), replace_nestloop_param_var(), replace_nestloop_params(), replace_nestloop_params_mutator(), replace_outer_agg(), replace_outer_grouping(), replace_outer_merge_support(), replace_outer_placeholdervar(), replace_outer_returning(), replace_outer_var(), RestrictInfoIsTidQual(), restriction_is_always_false(), restriction_is_always_true(), restriction_selectivity(), right_merge_direction(), rowcomparesel(), RT_BEGIN_ITERATE(), scalararraysel(), scalararraysel_containment(), scalarineqsel(), scalarineqsel_wrapper(), select_active_windows(), select_mergejoin_clauses(), select_outer_pathkeys_for_merge(), set_append_references(), set_append_rel_pathlist(), set_append_rel_size(), set_base_rel_consider_startup(), set_base_rel_pathlists(), set_base_rel_sizes(), set_baserel_size_estimates(), set_cte_pathlist(), set_cte_size_estimates(), set_customscan_references(), set_foreign_pathlist(), set_foreign_size(), set_foreign_size_estimates(), set_foreignscan_references(), set_function_pathlist(), set_function_size_estimates(), set_hash_references(), set_indexonlyscan_references(), set_join_references(), set_joinrel_size_estimates(), set_mergeappend_references(), set_namedtuplestore_pathlist(), set_namedtuplestore_size_estimates(), set_param_references(), set_pathtarget_cost_width(), set_plain_rel_pathlist(), set_plain_rel_size(), set_plan_references(), set_plan_refs(), set_rel_consider_parallel(), set_rel_pathlist(), set_rel_size(), set_rel_width(), set_relation_partition_info(), set_result_pathlist(), set_result_size_estimates(), set_returning_clause_references(), set_subquery_pathlist(), set_subquery_size_estimates(), set_subqueryscan_references(), set_tablefunc_pathlist(), set_tablefunc_size_estimates(), set_tablesample_rel_pathlist(), set_tablesample_rel_size(), set_upper_references(), set_values_pathlist(), set_values_size_estimates(), set_windowagg_runcondition_references(), set_worktable_pathlist(), setup_simple_rel_arrays(), simplify_EXISTS_query(), sort_inner_and_outer(), spgcostestimate(), split_pathtarget_at_srfs(), spread_chromo(), SS_attach_initplans(), SS_charge_for_initplans(), SS_finalize_plan(), SS_identify_outer_params(), SS_make_initplan_from_plan(), SS_make_initplan_output_param(), SS_process_ctes(), SS_process_sublinks(), SS_replace_correlation_vars(), standard_join_search(), standard_planner(), standard_qp_callback(), statext_clauselist_selectivity(), statext_is_compatible_clause(), statext_is_compatible_clause_internal(), statext_mcv_clauselist_selectivity(), subquery_planner(), system_rows_samplescangetsamplesize(), system_samplescangetsamplesize(), system_time_samplescangetsamplesize(), TidQualFromRestrictInfoList(), translate_col_privs_multilevel(), treat_as_join_clause(), truncate_useless_pathkeys(), try_hashjoin_path(), try_mergejoin_path(), try_nestloop_path(), try_partial_hashjoin_path(), try_partial_mergejoin_path(), try_partial_nestloop_path(), try_partitionwise_join(), tsmatchsel(), use_physical_tlist(), and xmltotext_with_options().
rootnode |
Definition at line 1823 of file radixtree.h.
|
static |
Definition at line 650 of file radixtree.h.
Definition at line 1858 of file radixtree.h.
Referenced by RT_SET().
return tree = (RT_RADIX_TREE *) palloc0(sizeof(RT_RADIX_TREE)) |
Definition at line 1828 of file radixtree.h.
Referenced by avlAdjustBalance(), avlCollectFields(), avlFree(), avlInit(), avlInsertNode(), avlMergeValue(), for(), lt_q_regex(), ltq_regex(), rbt_create(), rbt_populate(), RT_ALLOC_LEAF(), RT_ALLOC_NODE(), RT_BEGIN_ITERATE(), RT_EXTEND_DOWN(), RT_EXTEND_UP(), RT_FIND(), RT_FREE(), RT_FREE_LEAF(), RT_FREE_NODE(), RT_GET_SLOT_RECURSIVE(), RT_GROW_NODE_16(), RT_GROW_NODE_4(), RT_GROW_NODE_48(), RT_MEMORY_USAGE(), RT_NODE_INSERT(), rt_num_entries(), RT_PTR_SET_LOCAL(), RT_SET(), testdelete(), testfind(), testfindltgt(), testleftmost(), testleftright(), testrightleft(), tsquery_rewrite(), and tsquery_rewrite_query().