MySQL 8.4.3
Source Code Documentation
Column Definition Flags

Values for the flags bitmask used by Send_field:flags. More...

Collaboration diagram for Column Definition Flags:

Macros

#define NOT_NULL_FLAG   1
 Field can't be NULL. More...
 
#define PRI_KEY_FLAG   2
 Field is part of a primary key. More...
 
#define UNIQUE_KEY_FLAG   4
 Field is part of a unique key. More...
 
#define MULTIPLE_KEY_FLAG   8
 Field is part of a key. More...
 
#define BLOB_FLAG   16
 Field is a blob. More...
 
#define UNSIGNED_FLAG   32
 Field is unsigned. More...
 
#define ZEROFILL_FLAG   64
 Field is zerofill. More...
 
#define BINARY_FLAG   128
 Field is binary
More...
 
#define ENUM_FLAG   256
 field is an enum More...
 
#define AUTO_INCREMENT_FLAG   512
 field is a autoincrement field More...
 
#define TIMESTAMP_FLAG   1024
 Field is a timestamp. More...
 
#define SET_FLAG   2048
 field is a set More...
 
#define NO_DEFAULT_VALUE_FLAG   4096
 Field doesn't have default value. More...
 
#define ON_UPDATE_NOW_FLAG   8192
 Field is set to NOW on UPDATE. More...
 
#define NUM_FLAG   32768
 Field is num (for clients) More...
 
#define PART_KEY_FLAG   16384
 Intern; Part of some key. More...
 
#define GROUP_FLAG   32768
 Intern: Group field. More...
 
#define UNIQUE_FLAG   65536
 Intern: Used by sql_yacc. More...
 
#define BINCMP_FLAG   131072
 Intern: Used by sql_yacc. More...
 
#define GET_FIXED_FIELDS_FLAG    (1 << 18)
 Used to get fields in item tree . More...
 
#define FIELD_IN_PART_FUNC_FLAG   (1 << 19)
 Field part of partition func. More...
 
#define FIELD_IN_ADD_INDEX   (1 << 20)
 Intern: Field in TABLE object for new version of altered table, which participates in a newly added index. More...
 
#define FIELD_IS_RENAMED   (1 << 21)
 Intern: Field is being renamed. More...
 
#define FIELD_FLAGS_STORAGE_MEDIA   22
 Field storage media, bit 22-23. More...
 
#define FIELD_FLAGS_STORAGE_MEDIA_MASK   (3 << FIELD_FLAGS_STORAGE_MEDIA)
 
#define FIELD_FLAGS_COLUMN_FORMAT   24
 Field column format, bit 24-25. More...
 
#define FIELD_FLAGS_COLUMN_FORMAT_MASK   (3 << FIELD_FLAGS_COLUMN_FORMAT)
 
#define FIELD_IS_DROPPED   (1 << 26)
 Intern: Field is being dropped. More...
 
#define EXPLICIT_NULL_FLAG    (1 << 27)
 Field is explicitly specified as \ NULL by the user. More...
 
#define NOT_SECONDARY_FLAG   (1 << 29)
 Field will not be loaded in secondary engine. More...
 
#define FIELD_IS_INVISIBLE   (1 << 30)
 Field is explicitly marked as invisible by the user. More...
 

Detailed Description

Values for the flags bitmask used by Send_field:flags.

Currently need to fit into 32 bits.

Each bit represents an optional feature of the protocol.

Both the client and the server are sending these.

The intersection of the two determines what optional parts of the protocol will be used.

Macro Definition Documentation

◆ AUTO_INCREMENT_FLAG

#define AUTO_INCREMENT_FLAG   512

field is a autoincrement field

◆ BINARY_FLAG

#define BINARY_FLAG   128

Field is binary

◆ BINCMP_FLAG

#define BINCMP_FLAG   131072

Intern: Used by sql_yacc.

◆ BLOB_FLAG

#define BLOB_FLAG   16

Field is a blob.

◆ ENUM_FLAG

#define ENUM_FLAG   256

field is an enum

◆ EXPLICIT_NULL_FLAG

#define EXPLICIT_NULL_FLAG    (1 << 27)

Field is explicitly specified as \ NULL by the user.

◆ FIELD_FLAGS_COLUMN_FORMAT

#define FIELD_FLAGS_COLUMN_FORMAT   24

Field column format, bit 24-25.

◆ FIELD_FLAGS_COLUMN_FORMAT_MASK

#define FIELD_FLAGS_COLUMN_FORMAT_MASK   (3 << FIELD_FLAGS_COLUMN_FORMAT)

◆ FIELD_FLAGS_STORAGE_MEDIA

#define FIELD_FLAGS_STORAGE_MEDIA   22

Field storage media, bit 22-23.

◆ FIELD_FLAGS_STORAGE_MEDIA_MASK

#define FIELD_FLAGS_STORAGE_MEDIA_MASK   (3 << FIELD_FLAGS_STORAGE_MEDIA)

◆ FIELD_IN_ADD_INDEX

#define FIELD_IN_ADD_INDEX   (1 << 20)

Intern: Field in TABLE object for new version of altered table, which participates in a newly added index.

◆ FIELD_IN_PART_FUNC_FLAG

#define FIELD_IN_PART_FUNC_FLAG   (1 << 19)

Field part of partition func.

◆ FIELD_IS_DROPPED

#define FIELD_IS_DROPPED   (1 << 26)

Intern: Field is being dropped.

◆ FIELD_IS_INVISIBLE

#define FIELD_IS_INVISIBLE   (1 << 30)

Field is explicitly marked as invisible by the user.

◆ FIELD_IS_RENAMED

#define FIELD_IS_RENAMED   (1 << 21)

Intern: Field is being renamed.

◆ GET_FIXED_FIELDS_FLAG

#define GET_FIXED_FIELDS_FLAG    (1 << 18)

Used to get fields in item tree .

◆ GROUP_FLAG

#define GROUP_FLAG   32768

Intern: Group field.

◆ MULTIPLE_KEY_FLAG

#define MULTIPLE_KEY_FLAG   8

Field is part of a key.

◆ NO_DEFAULT_VALUE_FLAG

#define NO_DEFAULT_VALUE_FLAG   4096

Field doesn't have default value.

◆ NOT_NULL_FLAG

#define NOT_NULL_FLAG   1

Field can't be NULL.

◆ NOT_SECONDARY_FLAG

#define NOT_SECONDARY_FLAG   (1 << 29)

Field will not be loaded in secondary engine.

◆ NUM_FLAG

#define NUM_FLAG   32768

Field is num (for clients)

◆ ON_UPDATE_NOW_FLAG

#define ON_UPDATE_NOW_FLAG   8192

Field is set to NOW on UPDATE.

◆ PART_KEY_FLAG

#define PART_KEY_FLAG   16384

Intern; Part of some key.

◆ PRI_KEY_FLAG

#define PRI_KEY_FLAG   2

Field is part of a primary key.

◆ SET_FLAG

#define SET_FLAG   2048

field is a set

◆ TIMESTAMP_FLAG

#define TIMESTAMP_FLAG   1024

Field is a timestamp.

◆ UNIQUE_FLAG

#define UNIQUE_FLAG   65536

Intern: Used by sql_yacc.

◆ UNIQUE_KEY_FLAG

#define UNIQUE_KEY_FLAG   4

Field is part of a unique key.

◆ UNSIGNED_FLAG

#define UNSIGNED_FLAG   32

Field is unsigned.

◆ ZEROFILL_FLAG

#define ZEROFILL_FLAG   64

Field is zerofill.