24#ifndef MYSQL_LOCK_FREE_HASH_IMP_H
25#define MYSQL_LOCK_FREE_HASH_IMP_H
42 (uint element_size, uint
flags, uint key_offset,
An implementation of "mysql_lock_free_hash" component service using the server's lock free hash imple...
Definition: mysql_lock_free_hash_imp.h:34
static mysql_service_status_t destroy(LF_HASH_h hash) noexcept
Wrapper around lf_hash_destroy function.
Definition: mysql_lock_free_hash_imp.cc:46
static LF_PINS_h get_pins(LF_HASH_h hash) noexcept
Wrapper around lf_hash_get_pins function.
Definition: mysql_lock_free_hash_imp.cc:57
static void put_pins(LF_PINS_h pins) noexcept
Wrapper around lf_hash_put_pins function.
Definition: mysql_lock_free_hash_imp.cc:88
static void * search(LF_HASH_h hash, LF_PINS_h pins, const void *data, ulong length) noexcept
Wrapper around lf_hash_search function.
Definition: mysql_lock_free_hash_imp.cc:63
static void * random_match(LF_HASH_h hash, LF_PINS_h pins, lf_hash_match_func *match, uint rand_val, void *match_arg) noexcept
Wrapper around lf_hash_random_match function.
Definition: mysql_lock_free_hash_imp.cc:76
static int overhead() noexcept
LF_HASH_OVERHEAD value.
Definition: mysql_lock_free_hash_imp.cc:98
static void search_unpin(LF_PINS_h pins) noexcept
Wrapper around lf_hash_search_unpin function.
Definition: mysql_lock_free_hash_imp.cc:83
static int insert(LF_HASH_h hash, LF_PINS_h pins, const void *data) noexcept
Wrapper around lf_hash_insert function.
Definition: mysql_lock_free_hash_imp.cc:93
static LF_HASH_h init(uint element_size, uint flags, uint key_offset, uint key_length, hash_get_key_function get_key, CHARSET_INFO_h charset, lf_allocator_func *ctor, lf_allocator_func *dtor, lf_hash_init_func *init) noexcept
Wrapper around lf_hash_init2 function.
Definition: mysql_lock_free_hash_imp.cc:33
static int remove(LF_HASH_h hash, LF_PINS_h pins, const void *data, uint length) noexcept
Wrapper around lf_hash_delete function.
Definition: mysql_lock_free_hash_imp.cc:69
static int flags[50]
Definition: hp_test1.cc:40
void lf_hash_init_func(uchar *dst, const uchar *src)
Definition: lf_types.h:52
void lf_allocator_func(uchar *)
Definition: lf_types.h:48
const uchar *(* hash_get_key_function)(const uchar *arg, size_t *length)
Callback for extracting key and key length from user data in a LF_HASH.
Definition: lf_types.h:43
int lf_hash_match_func(const uchar *el, void *arg)
Definition: lf_types.h:50
struct LF_HASH_h_imp * LF_HASH_h
Hash colleciton handle.
Definition: mysql_lock_free_hash.h:34
struct LF_PINS_h_imp * LF_PINS_h
Hash collection access handle.
Definition: mysql_lock_free_hash.h:39
struct CHARSET_INFO_h_imp * CHARSET_INFO_h
Definition: mysql_string.h:41
const std::string charset("charset")
bool length(const dd::Spatial_reference_system *srs, const Geometry *g1, double *length, bool *null) noexcept
Computes the length of linestrings and multilinestrings.
Definition: length.cc:76
Specifies macros to define Service Implementations.
#define DEFINE_BOOL_METHOD(name, args)
A short macro to define method that returns bool, which is the most common case.
Definition: service_implementation.h:88
#define DEFINE_METHOD(retval, name, args)
A macro to ensure method implementation has required properties, that is it does not throw exceptions...
Definition: service_implementation.h:79