MySQL 8.3.0
Source Code Documentation
metadata.cc File Reference
#include "sql/dd/info_schema/metadata.h"
#include <sys/types.h>
#include <algorithm>
#include <atomic>
#include <memory>
#include <string>
#include <vector>
#include "field_types.h"
#include "lex_string.h"
#include "my_dbug.h"
#include "my_inttypes.h"
#include "my_sys.h"
#include "mysql/components/services/log_builtins.h"
#include "mysql/components/services/log_shared.h"
#include "mysql/my_loglevel.h"
#include "mysql/plugin.h"
#include "sql/dd/cache/dictionary_client.h"
#include "sql/dd/dd_schema.h"
#include "sql/dd/dd_table.h"
#include "sql/dd/dd_utility.h"
#include "sql/dd/impl/bootstrap/bootstrap_ctx.h"
#include "sql/dd/impl/bootstrap/bootstrapper.h"
#include "sql/dd/impl/dictionary_impl.h"
#include "sql/dd/impl/system_registry.h"
#include "sql/dd/impl/utils.h"
#include "sql/dd/properties.h"
#include "sql/dd/types/abstract_table.h"
#include "sql/dd/types/column.h"
#include "sql/dd/types/schema.h"
#include "sql/dd/types/system_view.h"
#include "sql/dd/types/system_view_definition.h"
#include "sql/dd/types/view.h"
#include "sql/dd_sql_view.h"
#include "sql/item_create.h"
#include "sql/mdl.h"
#include "sql/mysqld.h"
#include "sql/sql_class.h"
#include "sql/sql_lex.h"
#include "sql/sql_plugin.h"
#include "sql/sql_plugin_ref.h"
#include "sql/sql_profile.h"
#include "sql/sql_show.h"
#include "sql/system_variables.h"
#include "sql/table.h"
#include "sql/thd_raii.h"
#include "string_with_len.h"

Classes

class  anonymous_namespace{metadata.cc}::Update_context
 
class  anonymous_namespace{metadata.cc}::View_metadata_update_ctx
 Holds context during I_S table referencing view's status/column metadata update. More...
 

Namespaces

 
namespace  dd
 The version of the current data dictionary table definitions.
 
namespace  dd::info_schema
 

Functions

const dd::String_type anonymous_namespace{metadata.cc}::PLUGIN_VERSION_STRING ("plugin_version")
 
const dd::String_type anonymous_namespace{metadata.cc}::SERVER_I_S_TABLE_STRING ("server_i_s_table")
 
bool anonymous_namespace{metadata.cc}::store_in_dd (THD *thd, Update_context *ctx, ST_SCHEMA_TABLE *schema_table, unsigned int version)
 Store metadata from ST_SCHEMA_TABLE into DD tables. More...
 
static bool anonymous_namespace{metadata.cc}::store_plugin_metadata (THD *thd, plugin_ref plugin, Update_context *ctx)
 Helper method to store plugin IS table metadata into DD. More...
 
bool anonymous_namespace{metadata.cc}::store_plugin_and_referencing_views_metadata (THD *thd, plugin_ref plugin, void *arg)
 Store plugin IS table metadata into DD. More...
 
bool anonymous_namespace{metadata.cc}::update_plugins_I_S_metadata (THD *thd)
 Iterate through dynamic I_S plugins, and store I_S table metadata into dictionary, during MySQL server startup. More...
 
bool anonymous_namespace{metadata.cc}::create_system_views (THD *thd, bool is_non_dd_based)
 
bool anonymous_namespace{metadata.cc}::create_non_dd_based_system_views (THD *thd)
 
bool anonymous_namespace{metadata.cc}::update_server_I_S_metadata (THD *thd)
 Does following during server restart. More...
 
bool anonymous_namespace{metadata.cc}::initialize (THD *thd, bool non_dd_based_system_view)
 
bool dd::info_schema::create_system_views (THD *thd)
 Create INFORMATION_SCHEMA system views. More...
 
bool dd::info_schema::store_server_I_S_metadata (THD *thd)
 Store the server I_S table metadata into dictionary, once during MySQL server bootstrap. More...
 
bool dd::info_schema::update_I_S_metadata (THD *thd)
 Store I_S table metadata into dictionary, during MySQL server startup. More...
 
bool dd::info_schema::store_dynamic_plugin_I_S_metadata (THD *thd, st_plugin_int *plugin_int)
 Store dynamic I_S plugin table metadata into dictionary, during INSTALL command execution. More...
 
bool dd::info_schema::remove_I_S_view_metadata (THD *thd, const dd::String_type &view_name)
 Remove I_S view metadata from dictionary. More...
 
bool dd::info_schema::initialize (THD *thd)
 Initialize INFORMATION_SCHEMA system views. More...
 
bool dd::info_schema::init_non_dd_based_system_view (THD *thd)
 Initialize non DD based INFORMATION_SCHEMA system views. More...
 
bool dd::info_schema::get_I_S_view_definition (const dd::String_type &schema_name, const dd::String_type &view_name, dd::String_type *definition)
 Get create view definition for the given I_S system view. More...
 

Variables

unsigned int anonymous_namespace{metadata.cc}::UNKNOWN_PLUGIN_VERSION = -1