v22-0018-Clean-up-symbols.patch
text/x-patch
Filename: v22-0018-Clean-up-symbols.patch
Type: text/x-patch
Part: 16
Patch
Format: format-patch
Series: patch v22-0018
Subject: Clean up symbols
| File | + | − |
|---|---|---|
| src/include/lib/radixtree_delete_impl.h | 2 | 2 |
| src/include/lib/radixtree.h | 50 | 41 |
| src/include/lib/radixtree_insert_impl.h | 2 | 2 |
| src/include/lib/radixtree_iter_impl.h | 2 | 2 |
| src/include/lib/radixtree_search_impl.h | 2 | 2 |
From 67984ba863923017a7c9f976be58fef706eeccd2 Mon Sep 17 00:00:00 2001
From: John Naylor <john.naylor@postgresql.org>
Date: Sun, 22 Jan 2023 14:37:53 +0700
Subject: [PATCH v22 18/22] Clean up symbols
Remove remaming stragglers who weren't named "RT_*"
and get rid of the temporary expedient RT_COMMON
block in favor of explicit #undefs everywhere.
---
src/include/lib/radixtree.h | 91 ++++++++++++++-----------
src/include/lib/radixtree_delete_impl.h | 4 +-
src/include/lib/radixtree_insert_impl.h | 4 +-
src/include/lib/radixtree_iter_impl.h | 4 +-
src/include/lib/radixtree_search_impl.h | 4 +-
5 files changed, 58 insertions(+), 49 deletions(-)
diff --git a/src/include/lib/radixtree.h b/src/include/lib/radixtree.h
index 7c3f3dcf4f..95124696ef 100644
--- a/src/include/lib/radixtree.h
+++ b/src/include/lib/radixtree.h
@@ -246,14 +246,6 @@ RT_SCOPE void RT_STATS(RT_RADIX_TREE *tree);
/* generate implementation of the radix tree */
#ifdef RT_DEFINE
-/* macros and types common to all implementations */
-#ifndef RT_COMMON
-#define RT_COMMON
-
-#ifdef RT_DEBUG
-#define UINT64_FORMAT_HEX "%" INT64_MODIFIER "X"
-#endif
-
/* The number of bits encoded in one tree level */
#define RT_NODE_SPAN BITS_PER_BYTE
@@ -321,8 +313,6 @@ RT_SCOPE void RT_STATS(RT_RADIX_TREE *tree);
#define RT_SLAB_BLOCK_SIZE(size) \
Max((SLAB_DEFAULT_BLOCK_SIZE / (size)) * (size), (size) * 32)
-#endif /* RT_COMMON */
-
/* Common type for all nodes types */
typedef struct RT_NODE
{
@@ -370,7 +360,7 @@ typedef struct RT_NODE
#define RT_INVALID_PTR_ALLOC NULL
#endif
-#define NODE_IS_LEAF(n) (((RT_PTR_LOCAL) (n))->shift == 0)
+#define RT_NODE_IS_LEAF(n) (((RT_PTR_LOCAL) (n))->shift == 0)
#define RT_NODE_MUST_GROW(node) \
((node)->base.n.count == (node)->base.n.fanout)
@@ -916,14 +906,14 @@ RT_NODE_125_IS_CHUNK_USED(RT_NODE_BASE_125 *node, uint8 chunk)
static inline RT_PTR_ALLOC
RT_NODE_INNER_125_GET_CHILD(RT_NODE_INNER_125 *node, uint8 chunk)
{
- Assert(!NODE_IS_LEAF(node));
+ Assert(!RT_NODE_IS_LEAF(node));
return node->children[node->base.slot_idxs[chunk]];
}
static inline RT_VALUE_TYPE
RT_NODE_LEAF_125_GET_VALUE(RT_NODE_LEAF_125 *node, uint8 chunk)
{
- Assert(NODE_IS_LEAF(node));
+ Assert(RT_NODE_IS_LEAF(node));
Assert(((RT_NODE_BASE_125 *) node)->slot_idxs[chunk] != RT_INVALID_SLOT_IDX);
return node->values[node->base.slot_idxs[chunk]];
}
@@ -934,7 +924,7 @@ RT_NODE_LEAF_125_GET_VALUE(RT_NODE_LEAF_125 *node, uint8 chunk)
static inline bool
RT_NODE_INNER_256_IS_CHUNK_USED(RT_NODE_INNER_256 *node, uint8 chunk)
{
- Assert(!NODE_IS_LEAF(node));
+ Assert(!RT_NODE_IS_LEAF(node));
return node->children[chunk] != RT_INVALID_PTR_ALLOC;
}
@@ -944,14 +934,14 @@ RT_NODE_LEAF_256_IS_CHUNK_USED(RT_NODE_LEAF_256 *node, uint8 chunk)
int idx = BM_IDX(chunk);
int bitnum = BM_BIT(chunk);
- Assert(NODE_IS_LEAF(node));
+ Assert(RT_NODE_IS_LEAF(node));
return (node->isset[idx] & ((bitmapword) 1 << bitnum)) != 0;
}
static inline RT_PTR_ALLOC
RT_NODE_INNER_256_GET_CHILD(RT_NODE_INNER_256 *node, uint8 chunk)
{
- Assert(!NODE_IS_LEAF(node));
+ Assert(!RT_NODE_IS_LEAF(node));
Assert(RT_NODE_INNER_256_IS_CHUNK_USED(node, chunk));
return node->children[chunk];
}
@@ -959,7 +949,7 @@ RT_NODE_INNER_256_GET_CHILD(RT_NODE_INNER_256 *node, uint8 chunk)
static inline RT_VALUE_TYPE
RT_NODE_LEAF_256_GET_VALUE(RT_NODE_LEAF_256 *node, uint8 chunk)
{
- Assert(NODE_IS_LEAF(node));
+ Assert(RT_NODE_IS_LEAF(node));
Assert(RT_NODE_LEAF_256_IS_CHUNK_USED(node, chunk));
return node->values[chunk];
}
@@ -968,7 +958,7 @@ RT_NODE_LEAF_256_GET_VALUE(RT_NODE_LEAF_256 *node, uint8 chunk)
static inline void
RT_NODE_INNER_256_SET(RT_NODE_INNER_256 *node, uint8 chunk, RT_PTR_ALLOC child)
{
- Assert(!NODE_IS_LEAF(node));
+ Assert(!RT_NODE_IS_LEAF(node));
node->children[chunk] = child;
}
@@ -979,7 +969,7 @@ RT_NODE_LEAF_256_SET(RT_NODE_LEAF_256 *node, uint8 chunk, RT_VALUE_TYPE value)
int idx = BM_IDX(chunk);
int bitnum = BM_BIT(chunk);
- Assert(NODE_IS_LEAF(node));
+ Assert(RT_NODE_IS_LEAF(node));
node->isset[idx] |= ((bitmapword) 1 << bitnum);
node->values[chunk] = value;
}
@@ -988,7 +978,7 @@ RT_NODE_LEAF_256_SET(RT_NODE_LEAF_256 *node, uint8 chunk, RT_VALUE_TYPE value)
static inline void
RT_NODE_INNER_256_DELETE(RT_NODE_INNER_256 *node, uint8 chunk)
{
- Assert(!NODE_IS_LEAF(node));
+ Assert(!RT_NODE_IS_LEAF(node));
node->children[chunk] = RT_INVALID_PTR_ALLOC;
}
@@ -998,7 +988,7 @@ RT_NODE_LEAF_256_DELETE(RT_NODE_LEAF_256 *node, uint8 chunk)
int idx = BM_IDX(chunk);
int bitnum = BM_BIT(chunk);
- Assert(NODE_IS_LEAF(node));
+ Assert(RT_NODE_IS_LEAF(node));
node->isset[idx] &= ~((bitmapword) 1 << bitnum);
}
@@ -1458,7 +1448,7 @@ RT_FREE_RECURSE(RT_RADIX_TREE *tree, RT_PTR_ALLOC ptr)
CHECK_FOR_INTERRUPTS();
/* The leaf node doesn't have child pointers */
- if (NODE_IS_LEAF(node))
+ if (RT_NODE_IS_LEAF(node))
{
dsa_free(tree->dsa, ptr);
return;
@@ -1587,7 +1577,7 @@ RT_SET(RT_RADIX_TREE *tree, uint64 key, RT_VALUE_TYPE value)
child = RT_PTR_GET_LOCAL(tree, stored_child);
- if (NODE_IS_LEAF(child))
+ if (RT_NODE_IS_LEAF(child))
break;
if (!RT_NODE_SEARCH_INNER(child, key, &new_child))
@@ -1637,7 +1627,7 @@ RT_SEARCH(RT_RADIX_TREE *tree, uint64 key, RT_VALUE_TYPE *value_p)
{
RT_PTR_ALLOC child;
- if (NODE_IS_LEAF(node))
+ if (RT_NODE_IS_LEAF(node))
break;
if (!RT_NODE_SEARCH_INNER(node, key, &child))
@@ -1788,7 +1778,7 @@ RT_UPDATE_ITER_STACK(RT_ITER *iter, RT_PTR_LOCAL from_node, int from)
node_iter->current_idx = -1;
/* We don't advance the leaf node iterator here */
- if (NODE_IS_LEAF(node))
+ if (RT_NODE_IS_LEAF(node))
return;
/* Advance to the next slot in the inner node */
@@ -1972,7 +1962,7 @@ RT_VERIFY_NODE(RT_PTR_LOCAL node)
}
case RT_NODE_KIND_256:
{
- if (NODE_IS_LEAF(node))
+ if (RT_NODE_IS_LEAF(node))
{
RT_NODE_LEAF_256 *n256 = (RT_NODE_LEAF_256 *) node;
int cnt = 0;
@@ -1992,6 +1982,9 @@ RT_VERIFY_NODE(RT_PTR_LOCAL node)
/***************** DEBUG FUNCTIONS *****************/
#ifdef RT_DEBUG
+
+#define RT_UINT64_FORMAT_HEX "%" INT64_MODIFIER "X"
+
RT_SCOPE void
RT_STATS(RT_RADIX_TREE *tree)
{
@@ -2012,7 +2005,7 @@ RT_DUMP_NODE(RT_PTR_LOCAL node, int level, bool recurse)
char space[125] = {0};
fprintf(stderr, "[%s] kind %d, fanout %d, count %u, shift %u:\n",
- NODE_IS_LEAF(node) ? "LEAF" : "INNR",
+ RT_NODE_IS_LEAF(node) ? "LEAF" : "INNR",
(node->kind == RT_NODE_KIND_3) ? 3 :
(node->kind == RT_NODE_KIND_32) ? 32 :
(node->kind == RT_NODE_KIND_125) ? 125 : 256,
@@ -2028,11 +2021,11 @@ RT_DUMP_NODE(RT_PTR_LOCAL node, int level, bool recurse)
{
for (int i = 0; i < node->count; i++)
{
- if (NODE_IS_LEAF(node))
+ if (RT_NODE_IS_LEAF(node))
{
RT_NODE_LEAF_3 *n3 = (RT_NODE_LEAF_3 *) node;
- fprintf(stderr, "%schunk 0x%X value 0x" UINT64_FORMAT_HEX "\n",
+ fprintf(stderr, "%schunk 0x%X value 0x" RT_UINT64_FORMAT_HEX "\n",
space, n3->base.chunks[i], (uint64) n3->values[i]);
}
else
@@ -2054,11 +2047,11 @@ RT_DUMP_NODE(RT_PTR_LOCAL node, int level, bool recurse)
{
for (int i = 0; i < node->count; i++)
{
- if (NODE_IS_LEAF(node))
+ if (RT_NODE_IS_LEAF(node))
{
RT_NODE_LEAF_32 *n32 = (RT_NODE_LEAF_32 *) node;
- fprintf(stderr, "%schunk 0x%X value 0x" UINT64_FORMAT_HEX "\n",
+ fprintf(stderr, "%schunk 0x%X value 0x" RT_UINT64_FORMAT_HEX "\n",
space, n32->base.chunks[i], (uint64) n32->values[i]);
}
else
@@ -2090,14 +2083,14 @@ RT_DUMP_NODE(RT_PTR_LOCAL node, int level, bool recurse)
fprintf(stderr, " [%d]=%d, ", i, b125->slot_idxs[i]);
}
- if (NODE_IS_LEAF(node))
+ if (RT_NODE_IS_LEAF(node))
{
RT_NODE_LEAF_125 *n = (RT_NODE_LEAF_125 *) node;
fprintf(stderr, ", isset-bitmap:");
for (int i = 0; i < BM_IDX(RT_SLOT_IDX_LIMIT); i++)
{
- fprintf(stderr, UINT64_FORMAT_HEX " ", (uint64) n->base.isset[i]);
+ fprintf(stderr, RT_UINT64_FORMAT_HEX " ", (uint64) n->base.isset[i]);
}
fprintf(stderr, "\n");
}
@@ -2107,11 +2100,11 @@ RT_DUMP_NODE(RT_PTR_LOCAL node, int level, bool recurse)
if (!RT_NODE_125_IS_CHUNK_USED(b125, i))
continue;
- if (NODE_IS_LEAF(node))
+ if (RT_NODE_IS_LEAF(node))
{
RT_NODE_LEAF_125 *n125 = (RT_NODE_LEAF_125 *) b125;
- fprintf(stderr, "%schunk 0x%X value 0x" UINT64_FORMAT_HEX "\n",
+ fprintf(stderr, "%schunk 0x%X value 0x" RT_UINT64_FORMAT_HEX "\n",
space, i, (uint64) RT_NODE_LEAF_125_GET_VALUE(n125, i));
}
else
@@ -2134,14 +2127,14 @@ RT_DUMP_NODE(RT_PTR_LOCAL node, int level, bool recurse)
{
for (int i = 0; i < RT_NODE_MAX_SLOTS; i++)
{
- if (NODE_IS_LEAF(node))
+ if (RT_NODE_IS_LEAF(node))
{
RT_NODE_LEAF_256 *n256 = (RT_NODE_LEAF_256 *) node;
if (!RT_NODE_LEAF_256_IS_CHUNK_USED(n256, i))
continue;
- fprintf(stderr, "%schunk 0x%X value 0x" UINT64_FORMAT_HEX "\n",
+ fprintf(stderr, "%schunk 0x%X value 0x" RT_UINT64_FORMAT_HEX "\n",
space, i, (uint64) RT_NODE_LEAF_256_GET_VALUE(n256, i));
}
else
@@ -2174,7 +2167,7 @@ RT_DUMP_SEARCH(RT_RADIX_TREE *tree, uint64 key)
int level = 0;
elog(NOTICE, "-----------------------------------------------------------");
- elog(NOTICE, "max_val = " UINT64_FORMAT "(0x" UINT64_FORMAT_HEX ")",
+ elog(NOTICE, "max_val = " UINT64_FORMAT "(0x" RT_UINT64_FORMAT_HEX ")",
tree->ctl->max_val, tree->ctl->max_val);
if (!tree->ctl->root)
@@ -2185,7 +2178,7 @@ RT_DUMP_SEARCH(RT_RADIX_TREE *tree, uint64 key)
if (key > tree->ctl->max_val)
{
- elog(NOTICE, "key " UINT64_FORMAT "(0x" UINT64_FORMAT_HEX ") is larger than max val",
+ elog(NOTICE, "key " UINT64_FORMAT "(0x" RT_UINT64_FORMAT_HEX ") is larger than max val",
key, key);
return;
}
@@ -2198,7 +2191,7 @@ RT_DUMP_SEARCH(RT_RADIX_TREE *tree, uint64 key)
RT_DUMP_NODE(node, level, false);
- if (NODE_IS_LEAF(node))
+ if (RT_NODE_IS_LEAF(node))
{
uint64 dummy;
@@ -2249,15 +2242,30 @@ RT_DUMP(RT_RADIX_TREE *tree)
#undef RT_VALUE_TYPE
/* locally declared macros */
-#undef NODE_IS_LEAF
+#undef RT_MAKE_PREFIX
+#undef RT_MAKE_NAME
+#undef RT_MAKE_NAME_
+#undef RT_NODE_SPAN
+#undef RT_NODE_MAX_SLOTS
+#undef RT_CHUNK_MASK
+#undef RT_MAX_SHIFT
+#undef RT_MAX_LEVEL
+#undef RT_GET_KEY_CHUNK
+#undef BM_IDX
+#undef BM_BIT
+#undef RT_NODE_IS_LEAF
#undef RT_NODE_MUST_GROW
#undef RT_NODE_KIND_COUNT
#undef RT_SIZE_CLASS_COUNT
+#undef RT_INVALID_SLOT_IDX
+#undef RT_SLAB_BLOCK_SIZE
#undef RT_RADIX_TREE_MAGIC
+#undef RT_UINT64_FORMAT_HEX
/* type declarations */
#undef RT_RADIX_TREE
#undef RT_RADIX_TREE_CONTROL
+#undef RT_PTR_LOCAL
#undef RT_PTR_ALLOC
#undef RT_INVALID_PTR_ALLOC
#undef RT_HANDLE
@@ -2295,6 +2303,7 @@ RT_DUMP(RT_RADIX_TREE *tree)
#undef RT_ATTACH
#undef RT_DETACH
#undef RT_GET_HANDLE
+#undef RT_SEARCH
#undef RT_SET
#undef RT_BEGIN_ITERATE
#undef RT_ITERATE_NEXT
diff --git a/src/include/lib/radixtree_delete_impl.h b/src/include/lib/radixtree_delete_impl.h
index b9f07f4eb5..99c90771b9 100644
--- a/src/include/lib/radixtree_delete_impl.h
+++ b/src/include/lib/radixtree_delete_impl.h
@@ -17,9 +17,9 @@
uint8 chunk = RT_GET_KEY_CHUNK(key, node->shift);
#ifdef RT_NODE_LEVEL_LEAF
- Assert(NODE_IS_LEAF(node));
+ Assert(RT_NODE_IS_LEAF(node));
#else
- Assert(!NODE_IS_LEAF(node));
+ Assert(!RT_NODE_IS_LEAF(node));
#endif
switch (node->kind)
diff --git a/src/include/lib/radixtree_insert_impl.h b/src/include/lib/radixtree_insert_impl.h
index e3c3f7a69d..0fcebf1c6b 100644
--- a/src/include/lib/radixtree_insert_impl.h
+++ b/src/include/lib/radixtree_insert_impl.h
@@ -17,10 +17,10 @@
#ifdef RT_NODE_LEVEL_LEAF
const bool inner = false;
- Assert(NODE_IS_LEAF(node));
+ Assert(RT_NODE_IS_LEAF(node));
#else
const bool inner = true;
- Assert(!NODE_IS_LEAF(node));
+ Assert(!RT_NODE_IS_LEAF(node));
#endif
switch (node->kind)
diff --git a/src/include/lib/radixtree_iter_impl.h b/src/include/lib/radixtree_iter_impl.h
index c428531438..823d7107c4 100644
--- a/src/include/lib/radixtree_iter_impl.h
+++ b/src/include/lib/radixtree_iter_impl.h
@@ -18,11 +18,11 @@
#ifdef RT_NODE_LEVEL_LEAF
RT_VALUE_TYPE value;
- Assert(NODE_IS_LEAF(node_iter->node));
+ Assert(RT_NODE_IS_LEAF(node_iter->node));
#else
RT_PTR_LOCAL child = NULL;
- Assert(!NODE_IS_LEAF(node_iter->node));
+ Assert(!RT_NODE_IS_LEAF(node_iter->node));
#endif
#ifdef RT_SHMEM
diff --git a/src/include/lib/radixtree_search_impl.h b/src/include/lib/radixtree_search_impl.h
index 31138b6a72..c4352045c8 100644
--- a/src/include/lib/radixtree_search_impl.h
+++ b/src/include/lib/radixtree_search_impl.h
@@ -17,12 +17,12 @@
#ifdef RT_NODE_LEVEL_LEAF
RT_VALUE_TYPE value = 0;
- Assert(NODE_IS_LEAF(node));
+ Assert(RT_NODE_IS_LEAF(node));
#else
#ifndef RT_ACTION_UPDATE
RT_PTR_ALLOC child = RT_INVALID_PTR_ALLOC;
#endif
- Assert(!NODE_IS_LEAF(node));
+ Assert(!RT_NODE_IS_LEAF(node));
#endif
switch (node->kind)
--
2.39.0