MySQL 8.4.0
Source Code Documentation
parse_tree_column_attrs.h File Reference
#include <assert.h>
#include <sys/types.h>
#include <optional>
#include <type_traits>
#include <vector>
#include "field_types.h"
#include "lex_string.h"
#include "my_alloc.h"
#include "my_base.h"
#include "my_compiler.h"
#include "my_inttypes.h"
#include "my_sys.h"
#include "mysql/strings/m_ctype.h"
#include "mysql_com.h"
#include "mysqld_error.h"
#include "sql/derror.h"
#include "sql/field.h"
#include "sql/gis/srid.h"
#include "sql/item.h"
#include "sql/item_timefunc.h"
#include "sql/mem_root_array.h"
#include "sql/parse_location.h"
#include "sql/parse_tree_helpers.h"
#include "sql/parse_tree_node_base.h"
#include "sql/parser_yystype.h"
#include "sql/sql_alter.h"
#include "sql/sql_check_constraint.h"
#include "sql/sql_class.h"
#include "sql/sql_error.h"
#include "sql/sql_lex.h"
#include "sql/sql_list.h"
#include "sql/sql_parse.h"
#include "sql/system_variables.h"

Go to the source code of this file.

Classes

struct  Column_parse_context
 Parse context for column type attribute specific parse tree nodes. More...
 
class  PT_column_attr_base
 Base class for all column attributes in CREATE/ALTER TABLE More...
 
class  PT_null_column_attr
 Node for the NULL column attribute. More...
 
class  PT_not_null_column_attr
 Node for the NOT NULL column attribute. More...
 
class  PT_secondary_column_attr
 Node for the NOT SECONDARY column attribute. More...
 
class  PT_unique_key_column_attr
 Node for the UNIQUE [KEY] column attribute. More...
 
class  PT_primary_key_column_attr
 Node for the PRIMARY [KEY] column attribute. More...
 
class  PT_check_constraint_column_attr
 Node for the [CONSTRAINT [symbol]] CHECK '(' expr ')' column attribute. More...
 
class  PT_constraint_enforcement_attr
 Node for the [NOT] ENFORCED column attribute. More...
 
class  PT_comment_column_attr
 Node for the COMMENT <comment> column attribute. More...
 
class  PT_collate_column_attr
 Node for the COLLATE <collation> column attribute. More...
 
class  PT_default_column_attr
 Node for the DEFAULT <expression> column attribute. More...
 
class  PT_on_update_column_attr
 Node for the UPDATE NOW[([<precision>])] column attribute. More...
 
class  PT_auto_increment_column_attr
 Node for the AUTO_INCREMENT column attribute. More...
 
class  PT_serial_default_value_column_attr
 Node for the SERIAL DEFAULT VALUE column attribute. More...
 
class  PT_column_format_column_attr
 Node for the COLUMN_FORMAT <DEFAULT|FIXED|DYNAMIC> column attribute. More...
 
class  PT_storage_media_column_attr
 Node for the STORAGE <DEFAULT|DISK|MEMORY> column attribute. More...
 
class  PT_srid_column_attr
 Node for the SRID column attribute. More...
 
class  PT_generated_default_val_column_attr
 Node for the generated default value, column attribute. More...
 
class  PT_column_visibility_attr
 Node for the VISIBLE|INVISIBLE column attribute. More...
 
class  PT_type
 Base class for all column type nodes. More...
 
class  PT_numeric_type
 Node for numeric types. More...
 
class  PT_bit_type
 Node for the BIT type. More...
 
class  PT_boolean_type
 Node for the BOOL/BOOLEAN type. More...
 
class  PT_char_type
 
class  PT_blob_type
 Node for BLOB types. More...
 
class  PT_year_type
 Node for the YEAR type. More...
 
class  PT_date_type
 Node for the DATE type. More...
 
class  PT_time_type
 Node for the TIME, TIMESTAMP and DATETIME types. More...
 
class  PT_timestamp_type
 Node for the TIMESTAMP type. More...
 
class  PT_spacial_type
 Node for spatial types. More...
 
class  PT_enum_type_tmpl< enum_type >
 
class  PT_serial_type
 
class  PT_json_type
 Node for the JSON type. More...
 
class  PT_field_def_base
 Base class for both generated and regular column definitions. More...
 
class  PT_field_def
 Base class for regular (non-generated) column definition nodes. More...
 
class  PT_generated_field_def
 Base class for generated column definition nodes. More...
 

Typedefs

typedef PT_enum_type_tmpl< Enum_type::ENUMPT_enum_type
 Node for the ENUM type. More...
 
typedef PT_enum_type_tmpl< Enum_type::SETPT_set_type
 Node for the SET type. More...
 

Enumerations

enum class  Char_type : ulong { CHAR = MYSQL_TYPE_STRING , VARCHAR = MYSQL_TYPE_VARCHAR , TEXT = MYSQL_TYPE_BLOB }
 
enum class  Blob_type { TINY = MYSQL_TYPE_TINY_BLOB , MEDIUM = MYSQL_TYPE_MEDIUM_BLOB , LONG = MYSQL_TYPE_LONG_BLOB }
 
enum class  Time_type : ulong { TIME = MYSQL_TYPE_TIME2 , DATETIME = MYSQL_TYPE_DATETIME2 }
 
enum class  Enum_type { ENUM = MYSQL_TYPE_ENUM , SET = MYSQL_TYPE_SET }
 

Functions

void move_cf_appliers (Parse_context *tddlpc, Column_parse_context *cpc)
 

Typedef Documentation

◆ PT_enum_type

Node for the ENUM type.

◆ PT_set_type

Node for the SET type.

Enumeration Type Documentation

◆ Blob_type

enum class Blob_type
strong
Enumerator
TINY 
MEDIUM 
LONG 

◆ Char_type

enum class Char_type : ulong
strong
Enumerator
CHAR 
VARCHAR 
TEXT 

◆ Enum_type

enum class Enum_type
strong
Enumerator
ENUM 
SET 

◆ Time_type

enum class Time_type : ulong
strong
Enumerator
TIME 
DATETIME 

Function Documentation

◆ move_cf_appliers()

void move_cf_appliers ( Parse_context tddlpc,
Column_parse_context cpc 
)