MySQL 8.0.39
Source Code Documentation
dictionary_client.cc File Reference
#include "sql/dd/cache/dictionary_client.h"
#include <stdio.h>
#include <iostream>
#include <memory>
#include <string_view>
#include "lex_string.h"
#include "m_ctype.h"
#include "m_string.h"
#include "my_dbug.h"
#include "my_inttypes.h"
#include "my_sys.h"
#include "mysql/components/services/log_builtins.h"
#include "mysql_com.h"
#include "mysqld_error.h"
#include "sql/dd/cache/multi_map_base.h"
#include "sql/dd/dd_schema.h"
#include "sql/dd/impl/bootstrap/bootstrap_ctx.h"
#include "sql/dd/impl/cache/shared_dictionary_cache.h"
#include "sql/dd/impl/cache/storage_adapter.h"
#include "sql/dd/impl/dictionary_impl.h"
#include "sql/dd/impl/object_key.h"
#include "sql/dd/impl/raw/object_keys.h"
#include "sql/dd/impl/raw/raw_record.h"
#include "sql/dd/impl/raw/raw_record_set.h"
#include "sql/dd/impl/raw/raw_table.h"
#include "sql/dd/impl/sdi.h"
#include "sql/dd/impl/tables/character_sets.h"
#include "sql/dd/impl/tables/check_constraints.h"
#include "sql/dd/impl/tables/collations.h"
#include "sql/dd/impl/tables/column_statistics.h"
#include "sql/dd/impl/tables/events.h"
#include "sql/dd/impl/tables/foreign_keys.h"
#include "sql/dd/impl/tables/index_stats.h"
#include "sql/dd/impl/tables/resource_groups.h"
#include "sql/dd/impl/tables/routines.h"
#include "sql/dd/impl/tables/schemata.h"
#include "sql/dd/impl/tables/spatial_reference_systems.h"
#include "sql/dd/impl/tables/table_partitions.h"
#include "sql/dd/impl/tables/table_stats.h"
#include "sql/dd/impl/tables/tables.h"
#include "sql/dd/impl/tables/tablespaces.h"
#include "sql/dd/impl/tables/triggers.h"
#include "sql/dd/impl/tables/view_routine_usage.h"
#include "sql/dd/impl/tables/view_table_usage.h"
#include "sql/dd/impl/transaction_impl.h"
#include "sql/dd/impl/types/entity_object_impl.h"
#include "sql/dd/impl/types/object_table_definition_impl.h"
#include "sql/dd/properties.h"
#include "sql/dd/types/abstract_table.h"
#include "sql/dd/types/charset.h"
#include "sql/dd/types/collation.h"
#include "sql/dd/types/column_statistics.h"
#include "sql/dd/types/event.h"
#include "sql/dd/types/function.h"
#include "sql/dd/types/index_stat.h"
#include "sql/dd/types/procedure.h"
#include "sql/dd/types/resource_group.h"
#include "sql/dd/types/routine.h"
#include "sql/dd/types/schema.h"
#include "sql/dd/types/spatial_reference_system.h"
#include "sql/dd/types/table.h"
#include "sql/dd/types/table_stat.h"
#include "sql/dd/types/tablespace.h"
#include "sql/dd/types/view.h"
#include "sql/dd/types/view_routine.h"
#include "sql/dd/types/view_table.h"
#include "sql/debug_sync.h"
#include "sql/handler.h"
#include "sql/log.h"
#include "sql/mdl.h"
#include "sql/mysqld.h"
#include "sql/sql_class.h"
#include "sql/sql_plugin_ref.h"
#include "sql/table.h"
#include "sql/tztime.h"

Classes

class  anonymous_namespace{dictionary_client.cc}::MDL_checker
 Helper class providing overloaded functions asserting that we have proper MDL locks in place. More...
 
class  anonymous_namespace{dictionary_client.cc}::SPI_lru_cache_templ< SIZE >
 
class  dd::cache::SPI_lru_cache
 Inherit from an instantiation of the template to allow forward-declaring in Dictionary_client. More...
 
class  dd::cache::Timestamp_timezone_guard
 Class to fetch dd::Objects with GMT time. More...
 

Namespaces

namespace  anonymous_namespace{dictionary_client.cc}
 
namespace  dd
 The version of the current data dictionary table definitions.
 
namespace  dd::cache
 
namespace  dd_cache_unittest
 

Typedefs

using anonymous_namespace{dictionary_client.cc}::SPI_missing_status = std::bitset< 2 >
 
using anonymous_namespace{dictionary_client.cc}::SPI_order = std::vector< dd::Object_id >
 
using anonymous_namespace{dictionary_client.cc}::SPI_index = std::unordered_map< dd::Object_id, SPI_missing_status >
 

Enumerations

enum class  anonymous_namespace{dictionary_client.cc}::SPI_missing_type { anonymous_namespace{dictionary_client.cc}::TABLES , anonymous_namespace{dictionary_client.cc}::PARTITIONS }
 

Functions

template<typename T >
bool anonymous_namespace{dictionary_client.cc}::fetch_schema_component_names_by_criteria (THD *thd, const dd::Schema *schema, std::vector< dd::String_type > *names, std::function< bool(dd::Raw_record *)> const &fetch_criteria)
 
bool dd::cache::is_cached (const SPI_lru_cache_owner_ptr &cache, Object_id id, SPI_missing_type t)
 
static bool dd::cache::get_index_statistics_entries (THD *thd, const String_type &schema_name, const String_type &table_name, std::vector< String_type > &index_names, std::vector< String_type > &column_names)
 
template<typename T >
bool dd::cache::fetch_raw_record (THD *thd, std::function< bool(Raw_record *)> const &processor)
 
template<typename T >
static bool dd::cache::is_backup_lock_and_grl_acquired (THD *thd)
 Check whether protection against the backup- and global read lock has been acquired. More...
 
template<>
bool dd::cache::is_backup_lock_and_grl_acquired< Charset > (THD *)
 
template<>
bool dd::cache::is_backup_lock_and_grl_acquired< Collation > (THD *)
 
template<>
bool dd::cache::is_backup_lock_and_grl_acquired< Column_statistics > (THD *)
 
void dd_cache_unittest::insert (dd::cache::SPI_lru_cache_owner_ptr &c, dd::Object_id id)
 
bool dd_cache_unittest::is_cached (const dd::cache::SPI_lru_cache_owner_ptr &c, dd::Object_id id)
 

Variables

constexpr const auto anonymous_namespace{dictionary_client.cc}::innodb_engine_name