// https://github.com/pingcap/tidb/blob/a7465f42e7ea6e1907734734151fc747ed8ded0b/pkg/parser/mysql/type.go#L16-L50
// https://github.com/pingcap/tidb/blob/352394661f5dd93be156d0ca6da30596738a04d1/pkg/parser/types/etc.go#L79-L108
pub const COLTYPE_UNSPECIFIED: i32 = 0;
pub const COLTYPE_TINY: i32 = 1; // tinyint
pub const COLTYPE_SHORT: i32 = 2; // smallint
pub const COLTYPE_LONG: i32 = 3; // int
pub const COLTYPE_FLOAT: i32 = 4; // float
pub const COLTYPE_DOUBLE: i32 = 5; // double
pub const COLTYPE_NULL: i32 = 6; // null
pub const COLTYPE_TIMESTAMP: i32 = 7; // timestamp
pub const COLTYPE_LONGLONG: i32 = 8; // bigint
pub const COLTYPE_INT24: i32 = 9; // mediumint
pub const COLTYPE_DATE: i32 = 10; // date
pub const COLTYPE_TIME: i32 = 11; // time
pub const COLTYPE_DATETIME: i32 = 12; // datetime
pub const COLTYPE_YEAR: i32 = 13; // year
pub const COLTYPE_NEWDATE: i32 = 14; //
pub const COLTYPE_VARCHAR: i32 = 15; // varchar
pub const COLTYPE_BIT: i32 = 16; // bit
pub const COLTYPE_JSON: i32 = 0xf5; // json
pub const COLTYPE_NEWDECIMAL: i32 = 0xf6; // decimal
pub const COLTYPE_ENUM: i32 = 0xf7; // enum
pub const COLTYPE_SET: i32 = 0xf8; // set
pub const COLTYPE_TINYBLOB: i32 = 0xf9; // tinytext
pub const COLTYPE_MEDIUMBLOB: i32 = 0xfa; // mediumtext
pub const COLTYPE_LONGBLOB: i32 = 0xfb; // longtext
pub const COLTYPE_BLOB: i32 = 0xfc; // text
pub const COLTYPE_VARSTRING: i32 = 0xfd; // var_string
pub const COLTYPE_STRING: i32 = 0xfe; // char
pub const COLTYPE_GEOMETRY: i32 = 0xff; // geometry
pub const COLTYPE_TIDB_VECTOR_FLOAT32: i32 = 0xe1; // vector

// https://github.com/pingcap/tidb/blob/a7465f42e7ea6e1907734734151fc747ed8ded0b/pkg/parser/mysql/type.go#L52-L81
// Column flags that tici cares about.
pub const NOT_NULL_FLAG: u32 = 1 << 0;
pub const PRI_KEY_FLAG: u32 = 1 << 1;
pub const UNSIGNED_FLAG: u32 = 1 << 5;
pub const BINARY_FLAG: u32 = 1 << 7;
