MySQL 8.4.2
Source Code Documentation
ha_mock.cc File Reference
#include "storage/secondary_engine_mock/ha_mock.h"
#include <stddef.h>
#include <algorithm>
#include <cassert>
#include <map>
#include <memory>
#include <mutex>
#include <string>
#include <tuple>
#include <utility>
#include "lex_string.h"
#include "my_alloc.h"
#include "my_compiler.h"
#include "my_dbug.h"
#include "my_inttypes.h"
#include "my_sys.h"
#include "mysql/plugin.h"
#include "mysqld_error.h"
#include "sql/debug_sync.h"
#include "sql/handler.h"
#include "sql/join_optimizer/access_path.h"
#include "sql/join_optimizer/make_join_hypergraph.h"
#include "sql/join_optimizer/walk_access_paths.h"
#include "sql/opt_trace.h"
#include "sql/sql_class.h"
#include "sql/sql_const.h"
#include "sql/sql_lex.h"
#include "sql/sql_optimizer.h"
#include "sql/table.h"
#include "template_utils.h"
#include "thr_lock.h"

Classes

struct  anonymous_namespace{ha_mock.cc}::MockShare
 
class  anonymous_namespace{ha_mock.cc}::LoadedTables
 
class  anonymous_namespace{ha_mock.cc}::Mock_statement_context
 Statement context class for the MOCK engine. More...
 
class  anonymous_namespace{ha_mock.cc}::Mock_execution_context
 Execution context class for the MOCK engine. More...
 

Namespaces

namespace  dd
 The version of the current data dictionary table definitions.
 
namespace  anonymous_namespace{ha_mock.cc}
 
namespace  mock
 

Functions

bool anonymous_namespace{ha_mock.cc}::SecondaryEnginePrePrepareHook (THD *thd)
 
static bool PrepareSecondaryEngine (THD *thd, LEX *lex)
 
static void AssertSupportedPath (const AccessPath *path)
 
static bool OptimizeSecondaryEngine (THD *thd, LEX *lex)
 
static bool CompareJoinCost (THD *thd, const JOIN &join, double optimizer_cost, bool *use_best_so_far, bool *cheaper, double *secondary_engine_cost)
 
static bool ModifyAccessPathCost (THD *thd, const JoinHypergraph &hypergraph, AccessPath *path)
 
static handlerCreate (handlerton *hton, TABLE_SHARE *table_share, bool, MEM_ROOT *mem_root)
 
static int Init (MYSQL_PLUGIN p)
 
static int Deinit (MYSQL_PLUGIN)
 
 mysql_declare_plugin (mock)
 

Variables

LoadedTables * anonymous_namespace{ha_mock.cc}::loaded_tables {nullptr}
 
static st_mysql_storage_engine mock_storage_engine
 
 mysql_declare_plugin_end
 

Function Documentation

◆ AssertSupportedPath()

static void AssertSupportedPath ( const AccessPath path)
static

◆ CompareJoinCost()

static bool CompareJoinCost ( THD thd,
const JOIN join,
double  optimizer_cost,
bool *  use_best_so_far,
bool *  cheaper,
double *  secondary_engine_cost 
)
static

◆ Create()

static handler * Create ( handlerton hton,
TABLE_SHARE table_share,
bool  ,
MEM_ROOT mem_root 
)
static

◆ Deinit()

static int Deinit ( MYSQL_PLUGIN  )
static

◆ Init()

static int Init ( MYSQL_PLUGIN  p)
static

◆ ModifyAccessPathCost()

static bool ModifyAccessPathCost ( THD thd,
const JoinHypergraph hypergraph,
AccessPath path 
)
static

◆ mysql_declare_plugin()

mysql_declare_plugin ( mock  )

◆ OptimizeSecondaryEngine()

static bool OptimizeSecondaryEngine ( THD thd,
LEX lex 
)
static

◆ PrepareSecondaryEngine()

static bool PrepareSecondaryEngine ( THD thd,
LEX lex 
)
static

Variable Documentation

◆ mock_storage_engine

st_mysql_storage_engine mock_storage_engine
static
Initial value:
{
#define MYSQL_HANDLERTON_INTERFACE_VERSION
Definition: plugin.h:704

◆ mysql_declare_plugin_end

mysql_declare_plugin_end