26#ifndef MYSQLSHDK_SCRIPTING_POLYGLOT_UTILS_POLYGLOT_STORE_H_
27#define MYSQLSHDK_SCRIPTING_POLYGLOT_UTILS_POLYGLOT_STORE_H_
31#include <unordered_map>
68 explicit operator bool()
const {
return nullptr !=
m_reference; }
A container for stored values.
Definition: polyglot_store.h:82
void erase(poly_reference value)
Definition: polyglot_store.cc:97
std::unordered_map< poly_reference, Store > m_stored_values
Definition: polyglot_store.h:95
std::mutex m_mutex
Definition: polyglot_store.h:94
poly_thread m_thread
Definition: polyglot_store.h:93
Polyglot_storage(poly_thread thread)
Definition: polyglot_store.cc:80
bool m_cleared
Definition: polyglot_store.h:96
poly_reference store(poly_handle value)
Definition: polyglot_store.cc:82
void clear()
Definition: polyglot_store.cc:114
~Polyglot_storage()
Definition: polyglot_store.cc:112
Helper class to handle polyglot values made permanent.
Definition: polyglot_store.h:47
Store(const Store &other)=delete
Store(poly_thread thread) noexcept
Definition: polyglot_store.h:51
Store & reset(bool throw_on_error=true)
Definition: polyglot_store.cc:60
~Store() noexcept
Definition: polyglot_store.h:62
poly_reference get() const noexcept
Definition: polyglot_store.h:70
poly_thread thread() const
Definition: polyglot_store.h:72
poly_thread m_thread
Definition: polyglot_store.h:75
poly_reference m_reference
Definition: polyglot_store.h:76
Store & operator=(const Store &other)=delete
Store & operator=(std::nullptr_t)
Definition: polyglot_store.h:66
ValueType value(const std::optional< ValueType > &v)
Definition: gtid.h:83
Definition: file_system_exceptions.h:34