MySQL 8.3.0
Source Code Documentation
parser_yystype.h File Reference
#include <assert.h>
#include <sys/types.h>
#include <optional>
#include "field_types.h"
#include "lex_string.h"
#include "my_base.h"
#include "my_inttypes.h"
#include "my_time.h"
#include "mysql_time.h"
#include "sql/comp_creator.h"
#include "sql/field.h"
#include "sql/handler.h"
#include "sql/item_create.h"
#include "sql/key_spec.h"
#include "sql/lexer_yystype.h"
#include "sql/mem_root_array.h"
#include "sql/olap.h"
#include "sql/opt_hints.h"
#include "sql/parse_tree_hints.h"
#include "sql/parse_tree_node_base.h"
#include "sql/resourcegroups/platform/thread_attrs_api.h"
#include "sql/resourcegroups/resource_group_basic_types.h"
#include "sql/set_var.h"
#include "sql/sql_admin.h"
#include "sql/sql_alter.h"
#include "sql/sql_exchange.h"
#include "sql/sql_get_diagnostics.h"
#include "sql/sql_signal.h"
#include "sql/table.h"
#include "sql/trigger_def.h"
#include "sql/window_lex.h"
#include "sql/xa.h"
#include "thr_lock.h"

Go to the source code of this file.

Classes

struct  sys_var_with_base
 used by the parser to store internal variable name More...
 
struct  Cast_type
 
struct  Limit_options
 
struct  Query_options
 
class  Enum_parser< Enum, Default_value >
 std::optional-like wrapper for simple bitmaps (usually enums of binary flags) More...
 
struct  Value_or_default< T >
 
struct  Bipartite_name
 
struct  PT_install_component_set_element
 
union  MY_SQL_PARSER_STYPE
 
struct  MY_SQL_PARSER_STYPE::Json_on_response
 
struct  MY_SQL_PARSER_STYPE::Histogram_param
 
struct  MY_SQL_PARSER_STYPE::Algo_and_lock
 
struct  MY_SQL_PARSER_STYPE::Algo_and_lock_and_validation
 

Typedefs

typedef Parse_tree_node_tmpl< Alter_tablespace_parse_contextPT_alter_tablespace_option_base
 
typedef Mem_root_array_YY< LEX_CSTRINGCreate_col_name_list
 
using MY_HINT_PARSER_STYPE = MY_SQL_PARSER_STYPE
 

Enumerations

enum  enum_yes_no_unknown { TVL_YES , TVL_NO , TVL_UNKNOWN }
 
enum  enum_drop_mode { DROP_DEFAULT , DROP_CASCADE , DROP_RESTRICT }
 
enum  delete_option_enum { DELETE_QUICK = 1 << 0 , DELETE_LOW_PRIORITY = 1 << 1 , DELETE_IGNORE = 1 << 2 }
 
enum class  Lock_strength { UPDATE , SHARE }
 
enum class  Locked_row_action { DEFAULT = THR_DEFAULT , WAIT = THR_WAIT , NOWAIT = THR_NOWAIT , SKIP = THR_SKIP }
 We will static_cast this one to thr_lock_type. More...
 
enum  PT_joined_table_type {
  JTT_INNER = 0x01 , JTT_STRAIGHT = 0x02 , JTT_NATURAL = 0x04 , JTT_LEFT = 0x08 ,
  JTT_RIGHT = 0x10 , JTT_STRAIGHT_INNER = JTT_STRAIGHT | JTT_INNER , JTT_NATURAL_INNER = JTT_NATURAL | JTT_INNER , JTT_NATURAL_LEFT = JTT_NATURAL | JTT_LEFT ,
  JTT_NATURAL_RIGHT = JTT_NATURAL | JTT_RIGHT
}
 Internally there is no CROSS JOIN join type, as cross joins are just a special case of inner joins with a join condition that is always true. More...
 
enum class  Ternary_option { DEFAULT , ON , OFF }
 
enum class  On_duplicate { ERROR , IGNORE_DUP , REPLACE_DUP }
 
enum class  Virtual_or_stored { VIRTUAL , STORED }
 
enum class  Int_type : ulong {
  INT = MYSQL_TYPE_LONG , TINYINT = MYSQL_TYPE_TINY , SMALLINT = MYSQL_TYPE_SHORT , MEDIUMINT = MYSQL_TYPE_INT24 ,
  BIGINT = MYSQL_TYPE_LONGLONG
}
 
enum class  Numeric_type : ulong { DECIMAL = MYSQL_TYPE_NEWDECIMAL , FLOAT = MYSQL_TYPE_FLOAT , DOUBLE = MYSQL_TYPE_DOUBLE }
 
enum class  Show_cmd_type { STANDARD , FULL_SHOW , EXTENDED_SHOW , EXTENDED_FULL_SHOW }
 
enum class  Set_operator { UNION , EXCEPT , INTERSECT }
 

Typedef Documentation

◆ Create_col_name_list

◆ MY_HINT_PARSER_STYPE

◆ PT_alter_tablespace_option_base

Enumeration Type Documentation

◆ delete_option_enum

Enumerator
DELETE_QUICK 
DELETE_LOW_PRIORITY 
DELETE_IGNORE 

◆ enum_drop_mode

Enumerator
DROP_DEFAULT 
DROP_CASCADE 
DROP_RESTRICT 

◆ enum_yes_no_unknown

Enumerator
TVL_YES 
TVL_NO 
TVL_UNKNOWN 

◆ Int_type

enum class Int_type : ulong
strong
Enumerator
INT 
TINYINT 
SMALLINT 
MEDIUMINT 
BIGINT 

◆ Lock_strength

enum class Lock_strength
strong
Enumerator
UPDATE 
SHARE 

◆ Locked_row_action

enum class Locked_row_action
strong

We will static_cast this one to thr_lock_type.

Enumerator
DEFAULT 
WAIT 
NOWAIT 
SKIP 

◆ Numeric_type

enum class Numeric_type : ulong
strong
Enumerator
DECIMAL 
FLOAT 
DOUBLE 

◆ On_duplicate

enum class On_duplicate
strong
Enumerator
ERROR 
IGNORE_DUP 
REPLACE_DUP 

◆ PT_joined_table_type

Internally there is no CROSS JOIN join type, as cross joins are just a special case of inner joins with a join condition that is always true.

The only difference is the nesting, and that is handled by the parser.

Enumerator
JTT_INNER 
JTT_STRAIGHT 
JTT_NATURAL 
JTT_LEFT 
JTT_RIGHT 
JTT_STRAIGHT_INNER 
JTT_NATURAL_INNER 
JTT_NATURAL_LEFT 
JTT_NATURAL_RIGHT 

◆ Set_operator

enum class Set_operator
strong
Enumerator
UNION 
EXCEPT 
INTERSECT 

◆ Show_cmd_type

enum class Show_cmd_type
strong
Enumerator
STANDARD 
FULL_SHOW 
EXTENDED_SHOW 
EXTENDED_FULL_SHOW 

◆ Ternary_option

enum class Ternary_option
strong
Enumerator
DEFAULT 
ON 
OFF 

◆ Virtual_or_stored

enum class Virtual_or_stored
strong
Enumerator
VIRTUAL 
STORED