diff options
Diffstat (limited to 'storage/innobase/include/hash0hash.h')
-rw-r--r-- | storage/innobase/include/hash0hash.h | 32 |
1 files changed, 6 insertions, 26 deletions
diff --git a/storage/innobase/include/hash0hash.h b/storage/innobase/include/hash0hash.h index af4db48e3bd..4f55b051d80 100644 --- a/storage/innobase/include/hash0hash.h +++ b/storage/innobase/include/hash0hash.h @@ -1,7 +1,7 @@ /***************************************************************************** Copyright (c) 1997, 2016, Oracle and/or its affiliates. All Rights Reserved. -Copyright (c) 2018, 2022, MariaDB Corporation. +Copyright (c) 2018, MariaDB Corporation. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software @@ -31,31 +31,7 @@ Created 5/20/1997 Heikki Tuuri #include "sync0rw.h" struct hash_table_t; - -struct hash_cell_t -{ - /** singly-linked, nullptr terminated list of hash buckets */ - void *node; - - /** Insert an element after another. - @tparam T type of the element - @param after the element after which to insert - @param insert the being-inserted element - @param next the next-element pointer in T */ - template<typename T> - void insert_after(T &after, T &insert, T *T::*next) - { -#ifdef UNIV_DEBUG - for (const T *c= static_cast<const T*>(node); c; c= c->*next) - if (c == &after) - goto found; - ut_error; - found: -#endif - insert.*next= after.*next; - after.*next= &insert; - } -}; +struct hash_cell_t; typedef void* hash_node_t; @@ -501,6 +477,10 @@ hash_unlock_x_all_but( hash_table_t* table, /*!< in: hash table */ rw_lock_t* keep_lock); /*!< in: lock to keep */ +struct hash_cell_t{ + void* node; /*!< hash chain node, NULL if none */ +}; + /* The hash table structure */ struct hash_table_t { enum hash_table_sync_t type; /*<! type of hash_table. */ |