MySQL 9.1.0
Source Code Documentation
opt_costconstants.h File Reference
#include <assert.h>
#include <stddef.h>
#include <sys/types.h>
#include "lex_string.h"
#include "prealloced_array.h"
#include "sql/join_optimizer/cost_constants.h"

Go to the source code of this file.

Classes

class  Server_cost_constants
 Cost constants for operations done by the server. More...
 
class  SE_cost_constants
 Cost constants for a storage engine. More...
 
class  Cost_model_se_info
 Class that keeps all cost constants for a storage engine. More...
 
class  Cost_model_constants
 Set of all cost constants used by the server and all storage engines. More...
 

Enumerations

enum class  Optimizer { kOriginal , kHypergraph }
 
enum  cost_constant_error {
  COST_CONSTANT_OK , UNKNOWN_COST_NAME , UNKNOWN_ENGINE_NAME , INVALID_COST_VALUE ,
  INVALID_DEVICE_TYPE
}
 Error codes returned from the functions that do updates of the cost constants. More...
 

Variables

const unsigned int MAX_STORAGE_CLASSES = 1
 The cost model should support different types of storage devices each with different cost constants. More...
 

Enumeration Type Documentation

◆ cost_constant_error

Error codes returned from the functions that do updates of the cost constants.

Enumerator
COST_CONSTANT_OK 
UNKNOWN_COST_NAME 
UNKNOWN_ENGINE_NAME 
INVALID_COST_VALUE 
INVALID_DEVICE_TYPE 

◆ Optimizer

enum class Optimizer
strong
Enumerator
kOriginal 
kHypergraph 

Variable Documentation

◆ MAX_STORAGE_CLASSES

const unsigned int MAX_STORAGE_CLASSES = 1

The cost model should support different types of storage devices each with different cost constants.

Due to that we in the current version does not have a way to know which storage device a given table is stored on, the initial version of the cost model will only have one set of cost constants per storage engine.