MySQL 8.3.0
Source Code Documentation
sql_hints.yy.h File Reference

Go to the source code of this file.

Macros

#define MY_HINT_PARSER_DEBUG   0
 
#define MY_HINT_PARSER_TOKENTYPE
 
#define MAX_EXECUTION_TIME_HINT   1000
 
#define RESOURCE_GROUP_HINT   1001
 
#define BKA_HINT   1002
 
#define BNL_HINT   1003
 
#define DUPSWEEDOUT_HINT   1004
 
#define FIRSTMATCH_HINT   1005
 
#define INTOEXISTS_HINT   1006
 
#define LOOSESCAN_HINT   1007
 
#define MATERIALIZATION_HINT   1008
 
#define NO_BKA_HINT   1009
 
#define NO_BNL_HINT   1010
 
#define NO_ICP_HINT   1011
 
#define NO_MRR_HINT   1012
 
#define NO_RANGE_OPTIMIZATION_HINT   1013
 
#define NO_SEMIJOIN_HINT   1014
 
#define MRR_HINT   1015
 
#define QB_NAME_HINT   1016
 
#define SEMIJOIN_HINT   1017
 
#define SUBQUERY_HINT   1018
 
#define DERIVED_MERGE_HINT   1019
 
#define NO_DERIVED_MERGE_HINT   1020
 
#define JOIN_PREFIX_HINT   1021
 
#define JOIN_SUFFIX_HINT   1022
 
#define JOIN_ORDER_HINT   1023
 
#define JOIN_FIXED_ORDER_HINT   1024
 
#define INDEX_MERGE_HINT   1025
 
#define NO_INDEX_MERGE_HINT   1026
 
#define SET_VAR_HINT   1027
 
#define SKIP_SCAN_HINT   1028
 
#define NO_SKIP_SCAN_HINT   1029
 
#define HASH_JOIN_HINT   1030
 
#define NO_HASH_JOIN_HINT   1031
 
#define HINT_ARG_NUMBER   1032
 
#define HINT_ARG_IDENT   1033
 
#define HINT_ARG_QB_NAME   1034
 
#define HINT_ARG_TEXT   1035
 
#define HINT_IDENT_OR_NUMBER_WITH_SCALE   1036
 
#define HINT_CLOSE   1037
 
#define HINT_ERROR   1038
 
#define INDEX_HINT   1039
 
#define NO_INDEX_HINT   1040
 
#define JOIN_INDEX_HINT   1041
 
#define NO_JOIN_INDEX_HINT   1042
 
#define GROUP_INDEX_HINT   1043
 
#define NO_GROUP_INDEX_HINT   1044
 
#define ORDER_INDEX_HINT   1045
 
#define NO_ORDER_INDEX_HINT   1046
 
#define DERIVED_CONDITION_PUSHDOWN_HINT   1047
 
#define NO_DERIVED_CONDITION_PUSHDOWN_HINT   1048
 
#define HINT_ARG_FLOATING_POINT_NUMBER   1049
 

Enumerations

enum  my_hint_parser_tokentype {
  MAX_EXECUTION_TIME_HINT = 1000 , RESOURCE_GROUP_HINT = 1001 , BKA_HINT = 1002 , BNL_HINT = 1003 ,
  DUPSWEEDOUT_HINT = 1004 , FIRSTMATCH_HINT = 1005 , INTOEXISTS_HINT = 1006 , LOOSESCAN_HINT = 1007 ,
  MATERIALIZATION_HINT = 1008 , NO_BKA_HINT = 1009 , NO_BNL_HINT = 1010 , NO_ICP_HINT = 1011 ,
  NO_MRR_HINT = 1012 , NO_RANGE_OPTIMIZATION_HINT = 1013 , NO_SEMIJOIN_HINT = 1014 , MRR_HINT = 1015 ,
  QB_NAME_HINT = 1016 , SEMIJOIN_HINT = 1017 , SUBQUERY_HINT = 1018 , DERIVED_MERGE_HINT = 1019 ,
  NO_DERIVED_MERGE_HINT = 1020 , JOIN_PREFIX_HINT = 1021 , JOIN_SUFFIX_HINT = 1022 , JOIN_ORDER_HINT = 1023 ,
  JOIN_FIXED_ORDER_HINT = 1024 , INDEX_MERGE_HINT = 1025 , NO_INDEX_MERGE_HINT = 1026 , SET_VAR_HINT = 1027 ,
  SKIP_SCAN_HINT = 1028 , NO_SKIP_SCAN_HINT = 1029 , HASH_JOIN_HINT = 1030 , NO_HASH_JOIN_HINT = 1031 ,
  HINT_ARG_NUMBER = 1032 , HINT_ARG_IDENT = 1033 , HINT_ARG_QB_NAME = 1034 , HINT_ARG_TEXT = 1035 ,
  HINT_IDENT_OR_NUMBER_WITH_SCALE = 1036 , HINT_CLOSE = 1037 , HINT_ERROR = 1038 , INDEX_HINT = 1039 ,
  NO_INDEX_HINT = 1040 , JOIN_INDEX_HINT = 1041 , NO_JOIN_INDEX_HINT = 1042 , GROUP_INDEX_HINT = 1043 ,
  NO_GROUP_INDEX_HINT = 1044 , ORDER_INDEX_HINT = 1045 , NO_ORDER_INDEX_HINT = 1046 , DERIVED_CONDITION_PUSHDOWN_HINT = 1047 ,
  NO_DERIVED_CONDITION_PUSHDOWN_HINT = 1048 , HINT_ARG_FLOATING_POINT_NUMBER = 1049
}
 

Functions

int my_hint_parser_parse (class THD *thd, class Hint_scanner *scanner, class PT_hint_list **ret)
 

Macro Definition Documentation

◆ BKA_HINT

#define BKA_HINT   1002

◆ BNL_HINT

#define BNL_HINT   1003

◆ DERIVED_CONDITION_PUSHDOWN_HINT

#define DERIVED_CONDITION_PUSHDOWN_HINT   1047

◆ DERIVED_MERGE_HINT

#define DERIVED_MERGE_HINT   1019

◆ DUPSWEEDOUT_HINT

#define DUPSWEEDOUT_HINT   1004

◆ FIRSTMATCH_HINT

#define FIRSTMATCH_HINT   1005

◆ GROUP_INDEX_HINT

#define GROUP_INDEX_HINT   1043

◆ HASH_JOIN_HINT

#define HASH_JOIN_HINT   1030

◆ HINT_ARG_FLOATING_POINT_NUMBER

#define HINT_ARG_FLOATING_POINT_NUMBER   1049

◆ HINT_ARG_IDENT

#define HINT_ARG_IDENT   1033

◆ HINT_ARG_NUMBER

#define HINT_ARG_NUMBER   1032

◆ HINT_ARG_QB_NAME

#define HINT_ARG_QB_NAME   1034

◆ HINT_ARG_TEXT

#define HINT_ARG_TEXT   1035

◆ HINT_CLOSE

#define HINT_CLOSE   1037

◆ HINT_ERROR

#define HINT_ERROR   1038

◆ HINT_IDENT_OR_NUMBER_WITH_SCALE

#define HINT_IDENT_OR_NUMBER_WITH_SCALE   1036

◆ INDEX_HINT

#define INDEX_HINT   1039

◆ INDEX_MERGE_HINT

#define INDEX_MERGE_HINT   1025

◆ INTOEXISTS_HINT

#define INTOEXISTS_HINT   1006

◆ JOIN_FIXED_ORDER_HINT

#define JOIN_FIXED_ORDER_HINT   1024

◆ JOIN_INDEX_HINT

#define JOIN_INDEX_HINT   1041

◆ JOIN_ORDER_HINT

#define JOIN_ORDER_HINT   1023

◆ JOIN_PREFIX_HINT

#define JOIN_PREFIX_HINT   1021

◆ JOIN_SUFFIX_HINT

#define JOIN_SUFFIX_HINT   1022

◆ LOOSESCAN_HINT

#define LOOSESCAN_HINT   1007

◆ MATERIALIZATION_HINT

#define MATERIALIZATION_HINT   1008

◆ MAX_EXECUTION_TIME_HINT

#define MAX_EXECUTION_TIME_HINT   1000

◆ MRR_HINT

#define MRR_HINT   1015

◆ MY_HINT_PARSER_DEBUG

#define MY_HINT_PARSER_DEBUG   0

◆ MY_HINT_PARSER_TOKENTYPE

#define MY_HINT_PARSER_TOKENTYPE

◆ NO_BKA_HINT

#define NO_BKA_HINT   1009

◆ NO_BNL_HINT

#define NO_BNL_HINT   1010

◆ NO_DERIVED_CONDITION_PUSHDOWN_HINT

#define NO_DERIVED_CONDITION_PUSHDOWN_HINT   1048

◆ NO_DERIVED_MERGE_HINT

#define NO_DERIVED_MERGE_HINT   1020

◆ NO_GROUP_INDEX_HINT

#define NO_GROUP_INDEX_HINT   1044

◆ NO_HASH_JOIN_HINT

#define NO_HASH_JOIN_HINT   1031

◆ NO_ICP_HINT

#define NO_ICP_HINT   1011

◆ NO_INDEX_HINT

#define NO_INDEX_HINT   1040

◆ NO_INDEX_MERGE_HINT

#define NO_INDEX_MERGE_HINT   1026

◆ NO_JOIN_INDEX_HINT

#define NO_JOIN_INDEX_HINT   1042

◆ NO_MRR_HINT

#define NO_MRR_HINT   1012

◆ NO_ORDER_INDEX_HINT

#define NO_ORDER_INDEX_HINT   1046

◆ NO_RANGE_OPTIMIZATION_HINT

#define NO_RANGE_OPTIMIZATION_HINT   1013

◆ NO_SEMIJOIN_HINT

#define NO_SEMIJOIN_HINT   1014

◆ NO_SKIP_SCAN_HINT

#define NO_SKIP_SCAN_HINT   1029

◆ ORDER_INDEX_HINT

#define ORDER_INDEX_HINT   1045

◆ QB_NAME_HINT

#define QB_NAME_HINT   1016

◆ RESOURCE_GROUP_HINT

#define RESOURCE_GROUP_HINT   1001

◆ SEMIJOIN_HINT

#define SEMIJOIN_HINT   1017

◆ SET_VAR_HINT

#define SET_VAR_HINT   1027

◆ SKIP_SCAN_HINT

#define SKIP_SCAN_HINT   1028

◆ SUBQUERY_HINT

#define SUBQUERY_HINT   1018

Enumeration Type Documentation

◆ my_hint_parser_tokentype

Enumerator
MAX_EXECUTION_TIME_HINT 
RESOURCE_GROUP_HINT 
BKA_HINT 
BNL_HINT 
DUPSWEEDOUT_HINT 
FIRSTMATCH_HINT 
INTOEXISTS_HINT 
LOOSESCAN_HINT 
MATERIALIZATION_HINT 
NO_BKA_HINT 
NO_BNL_HINT 
NO_ICP_HINT 
NO_MRR_HINT 
NO_RANGE_OPTIMIZATION_HINT 
NO_SEMIJOIN_HINT 
MRR_HINT 
QB_NAME_HINT 
SEMIJOIN_HINT 
SUBQUERY_HINT 
DERIVED_MERGE_HINT 
NO_DERIVED_MERGE_HINT 
JOIN_PREFIX_HINT 
JOIN_SUFFIX_HINT 
JOIN_ORDER_HINT 
JOIN_FIXED_ORDER_HINT 
INDEX_MERGE_HINT 
NO_INDEX_MERGE_HINT 
SET_VAR_HINT 
SKIP_SCAN_HINT 
NO_SKIP_SCAN_HINT 
HASH_JOIN_HINT 
NO_HASH_JOIN_HINT 
HINT_ARG_NUMBER 
HINT_ARG_IDENT 
HINT_ARG_QB_NAME 
HINT_ARG_TEXT 
HINT_IDENT_OR_NUMBER_WITH_SCALE 
HINT_CLOSE 
HINT_ERROR 
INDEX_HINT 
NO_INDEX_HINT 
JOIN_INDEX_HINT 
NO_JOIN_INDEX_HINT 
GROUP_INDEX_HINT 
NO_GROUP_INDEX_HINT 
ORDER_INDEX_HINT 
NO_ORDER_INDEX_HINT 
DERIVED_CONDITION_PUSHDOWN_HINT 
NO_DERIVED_CONDITION_PUSHDOWN_HINT 
HINT_ARG_FLOATING_POINT_NUMBER 

Function Documentation

◆ my_hint_parser_parse()

int my_hint_parser_parse ( class THD thd,
class Hint_scanner scanner,
class PT_hint_list **  ret 
)