mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-20052 Add a MEM_ROOT pointer argument to Type_handler::make_xxx_field()
This commit is contained in:
225
sql/sql_type.h
225
sql/sql_type.h
@ -3472,7 +3472,8 @@ public:
|
||||
This information is not available in the binary log, so
|
||||
we assume that these fields are the same on the master and on the slave.
|
||||
*/
|
||||
virtual Field *make_conversion_table_field(TABLE *TABLE,
|
||||
virtual Field *make_conversion_table_field(MEM_ROOT *root,
|
||||
TABLE *table,
|
||||
uint metadata,
|
||||
const Field *target) const= 0;
|
||||
virtual void show_binlog_type(const Conv_source &src, String *str) const;
|
||||
@ -3566,15 +3567,18 @@ public:
|
||||
{
|
||||
return true; // Error
|
||||
}
|
||||
virtual Field *make_table_field(const LEX_CSTRING *name,
|
||||
virtual Field *make_table_field(MEM_ROOT *root,
|
||||
const LEX_CSTRING *name,
|
||||
const Record_addr &addr,
|
||||
const Type_all_attributes &attr,
|
||||
TABLE *table) const= 0;
|
||||
Field *make_and_init_table_field(const LEX_CSTRING *name,
|
||||
Field *make_and_init_table_field(MEM_ROOT *root,
|
||||
const LEX_CSTRING *name,
|
||||
const Record_addr &addr,
|
||||
const Type_all_attributes &attr,
|
||||
TABLE *table) const;
|
||||
virtual Field *make_schema_field(TABLE *table,
|
||||
virtual Field *make_schema_field(MEM_ROOT *root,
|
||||
TABLE *table,
|
||||
const Record_addr &addr,
|
||||
const ST_FIELD_INFO &def,
|
||||
bool show_field) const
|
||||
@ -3943,7 +3947,8 @@ public:
|
||||
DBUG_ASSERT(0);
|
||||
return NULL;
|
||||
}
|
||||
Field *make_conversion_table_field(TABLE *TABLE,
|
||||
Field *make_conversion_table_field(MEM_ROOT *root,
|
||||
TABLE *table,
|
||||
uint metadata,
|
||||
const Field *target) const
|
||||
{
|
||||
@ -3980,7 +3985,8 @@ public:
|
||||
{
|
||||
return false;
|
||||
}
|
||||
Field *make_table_field(const LEX_CSTRING *name,
|
||||
Field *make_table_field(MEM_ROOT *root,
|
||||
const LEX_CSTRING *name,
|
||||
const Record_addr &addr,
|
||||
const Type_all_attributes &attr,
|
||||
TABLE *table) const
|
||||
@ -4385,7 +4391,8 @@ public:
|
||||
}
|
||||
bool subquery_type_allows_materialization(const Item *inner,
|
||||
const Item *outer) const;
|
||||
Field *make_schema_field(TABLE *table,
|
||||
Field *make_schema_field(MEM_ROOT *root,
|
||||
TABLE *table,
|
||||
const Record_addr &addr,
|
||||
const ST_FIELD_INFO &def,
|
||||
bool show_field) const;
|
||||
@ -4971,18 +4978,21 @@ public:
|
||||
{
|
||||
return Item_send_tiny(item, protocol, buf);
|
||||
}
|
||||
Field *make_conversion_table_field(TABLE *TABLE, uint metadata,
|
||||
Field *make_conversion_table_field(MEM_ROOT *root,
|
||||
TABLE *table, uint metadata,
|
||||
const Field *target) const;
|
||||
bool Column_definition_fix_attributes(Column_definition *c) const;
|
||||
bool Column_definition_prepare_stage2(Column_definition *c,
|
||||
handler *file,
|
||||
ulonglong table_flags) const
|
||||
{ return Column_definition_prepare_stage2_legacy_num(c, MYSQL_TYPE_TINY); }
|
||||
Field *make_table_field(const LEX_CSTRING *name,
|
||||
Field *make_table_field(MEM_ROOT *root,
|
||||
const LEX_CSTRING *name,
|
||||
const Record_addr &addr,
|
||||
const Type_all_attributes &attr,
|
||||
TABLE *table) const;
|
||||
Field *make_schema_field(TABLE *table,
|
||||
Field *make_schema_field(MEM_ROOT *root,
|
||||
TABLE *table,
|
||||
const Record_addr &addr,
|
||||
const ST_FIELD_INFO &def,
|
||||
bool show_field) const;
|
||||
@ -5022,18 +5032,21 @@ public:
|
||||
uint32 max_display_length_for_field(const Conv_source &src) const
|
||||
{ return 6; }
|
||||
uint32 calc_pack_length(uint32 length) const { return 2; }
|
||||
Field *make_conversion_table_field(TABLE *TABLE, uint metadata,
|
||||
Field *make_conversion_table_field(MEM_ROOT *root,
|
||||
TABLE *table, uint metadata,
|
||||
const Field *target) const;
|
||||
bool Column_definition_fix_attributes(Column_definition *c) const;
|
||||
bool Column_definition_prepare_stage2(Column_definition *c,
|
||||
handler *file,
|
||||
ulonglong table_flags) const
|
||||
{ return Column_definition_prepare_stage2_legacy_num(c, MYSQL_TYPE_SHORT); }
|
||||
Field *make_table_field(const LEX_CSTRING *name,
|
||||
Field *make_table_field(MEM_ROOT *root,
|
||||
const LEX_CSTRING *name,
|
||||
const Record_addr &addr,
|
||||
const Type_all_attributes &attr,
|
||||
TABLE *table) const;
|
||||
Field *make_schema_field(TABLE *table,
|
||||
Field *make_schema_field(MEM_ROOT *root,
|
||||
TABLE *table,
|
||||
const Record_addr &addr,
|
||||
const ST_FIELD_INFO &def,
|
||||
bool show_field) const;
|
||||
@ -5073,18 +5086,21 @@ public:
|
||||
{
|
||||
return Item_send_long(item, protocol, buf);
|
||||
}
|
||||
Field *make_conversion_table_field(TABLE *TABLE, uint metadata,
|
||||
Field *make_conversion_table_field(MEM_ROOT *root,
|
||||
TABLE *table, uint metadata,
|
||||
const Field *target) const;
|
||||
bool Column_definition_fix_attributes(Column_definition *c) const;
|
||||
bool Column_definition_prepare_stage2(Column_definition *c,
|
||||
handler *file,
|
||||
ulonglong table_flags) const
|
||||
{ return Column_definition_prepare_stage2_legacy_num(c, MYSQL_TYPE_LONG); }
|
||||
Field *make_table_field(const LEX_CSTRING *name,
|
||||
Field *make_table_field(MEM_ROOT *root,
|
||||
const LEX_CSTRING *name,
|
||||
const Record_addr &addr,
|
||||
const Type_all_attributes &attr,
|
||||
TABLE *table) const;
|
||||
Field *make_schema_field(TABLE *table,
|
||||
Field *make_schema_field(MEM_ROOT *root,
|
||||
TABLE *table,
|
||||
const Record_addr &addr,
|
||||
const ST_FIELD_INFO &def,
|
||||
bool show_field) const;
|
||||
@ -5137,7 +5153,8 @@ public:
|
||||
{
|
||||
return Item_send_longlong(item, protocol, buf);
|
||||
}
|
||||
Field *make_conversion_table_field(TABLE *TABLE, uint metadata,
|
||||
Field *make_conversion_table_field(MEM_ROOT *root,
|
||||
TABLE *table, uint metadata,
|
||||
const Field *target) const;
|
||||
bool Column_definition_fix_attributes(Column_definition *c) const;
|
||||
bool Column_definition_prepare_stage2(Column_definition *c,
|
||||
@ -5146,11 +5163,13 @@ public:
|
||||
{
|
||||
return Column_definition_prepare_stage2_legacy_num(c, MYSQL_TYPE_LONGLONG);
|
||||
}
|
||||
Field *make_table_field(const LEX_CSTRING *name,
|
||||
Field *make_table_field(MEM_ROOT *root,
|
||||
const LEX_CSTRING *name,
|
||||
const Record_addr &addr,
|
||||
const Type_all_attributes &attr,
|
||||
TABLE *table) const;
|
||||
Field *make_schema_field(TABLE *table,
|
||||
Field *make_schema_field(MEM_ROOT *root,
|
||||
TABLE *table,
|
||||
const Record_addr &addr,
|
||||
const ST_FIELD_INFO &def,
|
||||
bool show_field) const;
|
||||
@ -5170,7 +5189,8 @@ class Type_handler_vers_trx_id: public Type_handler_longlong
|
||||
{
|
||||
public:
|
||||
virtual ~Type_handler_vers_trx_id() {}
|
||||
Field *make_table_field(const LEX_CSTRING *name,
|
||||
Field *make_table_field(MEM_ROOT *root,
|
||||
const LEX_CSTRING *name,
|
||||
const Record_addr &addr,
|
||||
const Type_all_attributes &attr,
|
||||
TABLE *table) const;
|
||||
@ -5201,14 +5221,16 @@ public:
|
||||
uint32 max_display_length_for_field(const Conv_source &src) const
|
||||
{ return 9; }
|
||||
uint32 calc_pack_length(uint32 length) const { return 3; }
|
||||
Field *make_conversion_table_field(TABLE *, uint metadata,
|
||||
Field *make_conversion_table_field(MEM_ROOT *mem_root,
|
||||
TABLE *table, uint metadata,
|
||||
const Field *target) const;
|
||||
bool Column_definition_fix_attributes(Column_definition *c) const;
|
||||
bool Column_definition_prepare_stage2(Column_definition *c,
|
||||
handler *file,
|
||||
ulonglong table_flags) const
|
||||
{ return Column_definition_prepare_stage2_legacy_num(c, MYSQL_TYPE_INT24); }
|
||||
Field *make_table_field(const LEX_CSTRING *name,
|
||||
Field *make_table_field(MEM_ROOT *root,
|
||||
const LEX_CSTRING *name,
|
||||
const Record_addr &addr,
|
||||
const Type_all_attributes &attr,
|
||||
TABLE *table) const;
|
||||
@ -5241,7 +5263,8 @@ public:
|
||||
{
|
||||
return Item_send_short(item, protocol, buf);
|
||||
}
|
||||
Field *make_conversion_table_field(TABLE *, uint metadata,
|
||||
Field *make_conversion_table_field(MEM_ROOT *root,
|
||||
TABLE *table, uint metadata,
|
||||
const Field *target) const;
|
||||
bool Column_definition_fix_attributes(Column_definition *c) const;
|
||||
void Column_definition_reuse_fix_attributes(THD *thd,
|
||||
@ -5251,7 +5274,8 @@ public:
|
||||
handler *file,
|
||||
ulonglong table_flags) const
|
||||
{ return Column_definition_prepare_stage2_legacy_num(c, MYSQL_TYPE_YEAR); }
|
||||
Field *make_table_field(const LEX_CSTRING *name,
|
||||
Field *make_table_field(MEM_ROOT *root,
|
||||
const LEX_CSTRING *name,
|
||||
const Record_addr &addr,
|
||||
const Type_all_attributes &attr,
|
||||
TABLE *table) const;
|
||||
@ -5296,7 +5320,8 @@ public:
|
||||
return print_item_value_csstr(thd, item, str);
|
||||
}
|
||||
void show_binlog_type(const Conv_source &src, String *str) const;
|
||||
Field *make_conversion_table_field(TABLE *, uint metadata,
|
||||
Field *make_conversion_table_field(MEM_ROOT *root,
|
||||
TABLE *table, uint metadata,
|
||||
const Field *target) const;
|
||||
bool Column_definition_fix_attributes(Column_definition *c) const;
|
||||
bool Column_definition_prepare_stage1(THD *thd,
|
||||
@ -5312,7 +5337,8 @@ public:
|
||||
bool Column_definition_prepare_stage2(Column_definition *c,
|
||||
handler *file,
|
||||
ulonglong table_flags) const;
|
||||
Field *make_table_field(const LEX_CSTRING *name,
|
||||
Field *make_table_field(MEM_ROOT *root,
|
||||
const LEX_CSTRING *name,
|
||||
const Record_addr &addr,
|
||||
const Type_all_attributes &attr,
|
||||
TABLE *table) const;
|
||||
@ -5350,18 +5376,21 @@ public:
|
||||
return Item_send_float(item, protocol, buf);
|
||||
}
|
||||
Field *make_num_distinct_aggregator_field(MEM_ROOT *, const Item *) const;
|
||||
Field *make_conversion_table_field(TABLE *, uint metadata,
|
||||
Field *make_conversion_table_field(MEM_ROOT *root,
|
||||
TABLE *table, uint metadata,
|
||||
const Field *target) const;
|
||||
bool Column_definition_fix_attributes(Column_definition *c) const;
|
||||
bool Column_definition_prepare_stage2(Column_definition *c,
|
||||
handler *file,
|
||||
ulonglong table_flags) const
|
||||
{ return Column_definition_prepare_stage2_legacy_real(c, MYSQL_TYPE_FLOAT); }
|
||||
Field *make_table_field(const LEX_CSTRING *name,
|
||||
Field *make_table_field(MEM_ROOT *root,
|
||||
const LEX_CSTRING *name,
|
||||
const Record_addr &addr,
|
||||
const Type_all_attributes &attr,
|
||||
TABLE *table) const;
|
||||
Field *make_schema_field(TABLE *table,
|
||||
Field *make_schema_field(MEM_ROOT *root,
|
||||
TABLE *table,
|
||||
const Record_addr &addr,
|
||||
const ST_FIELD_INFO &def,
|
||||
bool show_field) const;
|
||||
@ -5404,18 +5433,21 @@ public:
|
||||
{
|
||||
return Item_send_double(item, protocol, buf);
|
||||
}
|
||||
Field *make_conversion_table_field(TABLE *, uint metadata,
|
||||
Field *make_conversion_table_field(MEM_ROOT *root,
|
||||
TABLE *table, uint metadata,
|
||||
const Field *target) const;
|
||||
bool Column_definition_fix_attributes(Column_definition *c) const;
|
||||
bool Column_definition_prepare_stage2(Column_definition *c,
|
||||
handler *file,
|
||||
ulonglong table_flags) const
|
||||
{ return Column_definition_prepare_stage2_legacy_real(c, MYSQL_TYPE_DOUBLE); }
|
||||
Field *make_table_field(const LEX_CSTRING *name,
|
||||
Field *make_table_field(MEM_ROOT *root,
|
||||
const LEX_CSTRING *name,
|
||||
const Record_addr &addr,
|
||||
const Type_all_attributes &attr,
|
||||
TABLE *table) const;
|
||||
Field *make_schema_field(TABLE *table,
|
||||
Field *make_schema_field(MEM_ROOT *root,
|
||||
TABLE *table,
|
||||
const Record_addr &addr,
|
||||
const ST_FIELD_INFO &def,
|
||||
bool show_field) const;
|
||||
@ -5456,7 +5488,8 @@ public:
|
||||
{
|
||||
return MYSQL_TIMESTAMP_TIME;
|
||||
}
|
||||
Field *make_schema_field(TABLE *table,
|
||||
Field *make_schema_field(MEM_ROOT *root,
|
||||
TABLE *table,
|
||||
const Record_addr &addr,
|
||||
const ST_FIELD_INFO &def,
|
||||
bool show_field) const;
|
||||
@ -5536,13 +5569,15 @@ public:
|
||||
uint32 max_display_length_for_field(const Conv_source &src) const
|
||||
{ return MIN_TIME_WIDTH; }
|
||||
uint32 calc_pack_length(uint32 length) const;
|
||||
Field *make_conversion_table_field(TABLE *, uint metadata,
|
||||
Field *make_conversion_table_field(MEM_ROOT *root,
|
||||
TABLE *table, uint metadata,
|
||||
const Field *target) const;
|
||||
bool Column_definition_prepare_stage2(Column_definition *c,
|
||||
handler *file,
|
||||
ulonglong table_flags) const
|
||||
{ return Column_definition_prepare_stage2_legacy(c, MYSQL_TYPE_TIME); }
|
||||
Field *make_table_field(const LEX_CSTRING *name,
|
||||
Field *make_table_field(MEM_ROOT *root,
|
||||
const LEX_CSTRING *name,
|
||||
const Record_addr &addr,
|
||||
const Type_all_attributes &attr,
|
||||
TABLE *table) const;
|
||||
@ -5564,13 +5599,15 @@ public:
|
||||
enum_field_types real_field_type() const { return MYSQL_TYPE_TIME2; }
|
||||
uint32 max_display_length_for_field(const Conv_source &src) const;
|
||||
uint32 calc_pack_length(uint32 length) const;
|
||||
Field *make_conversion_table_field(TABLE *, uint metadata,
|
||||
Field *make_conversion_table_field(MEM_ROOT *root,
|
||||
TABLE *table, uint metadata,
|
||||
const Field *target) const;
|
||||
bool Column_definition_prepare_stage2(Column_definition *c,
|
||||
handler *file,
|
||||
ulonglong table_flags) const
|
||||
{ return Column_definition_prepare_stage2_legacy(c, MYSQL_TYPE_TIME2); }
|
||||
Field *make_table_field(const LEX_CSTRING *name,
|
||||
Field *make_table_field(MEM_ROOT *root,
|
||||
const LEX_CSTRING *name,
|
||||
const Record_addr &addr,
|
||||
const Type_all_attributes &attr,
|
||||
TABLE *table) const;
|
||||
@ -5635,7 +5672,8 @@ public:
|
||||
{
|
||||
return true;
|
||||
}
|
||||
Field *make_schema_field(TABLE *table,
|
||||
Field *make_schema_field(MEM_ROOT *root,
|
||||
TABLE *table,
|
||||
const Record_addr &addr,
|
||||
const ST_FIELD_INFO &def,
|
||||
bool show_field) const;
|
||||
@ -5668,13 +5706,15 @@ class Type_handler_date: public Type_handler_date_common
|
||||
public:
|
||||
virtual ~Type_handler_date() {}
|
||||
uint32 calc_pack_length(uint32 length) const { return 4; }
|
||||
Field *make_conversion_table_field(TABLE *, uint metadata,
|
||||
Field *make_conversion_table_field(MEM_ROOT *root,
|
||||
TABLE *table, uint metadata,
|
||||
const Field *target) const;
|
||||
bool Column_definition_prepare_stage2(Column_definition *c,
|
||||
handler *file,
|
||||
ulonglong table_flags) const
|
||||
{ return Column_definition_prepare_stage2_legacy(c, MYSQL_TYPE_DATE); }
|
||||
Field *make_table_field(const LEX_CSTRING *name,
|
||||
Field *make_table_field(MEM_ROOT *root,
|
||||
const LEX_CSTRING *name,
|
||||
const Record_addr &addr,
|
||||
const Type_all_attributes &attr,
|
||||
TABLE *table) const;
|
||||
@ -5694,13 +5734,15 @@ public:
|
||||
virtual ~Type_handler_newdate() {}
|
||||
enum_field_types real_field_type() const { return MYSQL_TYPE_NEWDATE; }
|
||||
uint32 calc_pack_length(uint32 length) const { return 3; }
|
||||
Field *make_conversion_table_field(TABLE *, uint metadata,
|
||||
Field *make_conversion_table_field(MEM_ROOT *root,
|
||||
TABLE *table, uint metadata,
|
||||
const Field *target) const;
|
||||
bool Column_definition_prepare_stage2(Column_definition *c,
|
||||
handler *file,
|
||||
ulonglong table_flags) const
|
||||
{ return Column_definition_prepare_stage2_legacy(c, MYSQL_TYPE_NEWDATE); }
|
||||
Field *make_table_field(const LEX_CSTRING *name,
|
||||
Field *make_table_field(MEM_ROOT *root,
|
||||
const LEX_CSTRING *name,
|
||||
const Record_addr &addr,
|
||||
const Type_all_attributes &attr,
|
||||
TABLE *table) const;
|
||||
@ -5739,7 +5781,8 @@ public:
|
||||
{
|
||||
return true;
|
||||
}
|
||||
Field *make_schema_field(TABLE *table,
|
||||
Field *make_schema_field(MEM_ROOT *root,
|
||||
TABLE *table,
|
||||
const Record_addr &addr,
|
||||
const ST_FIELD_INFO &def,
|
||||
bool show_field) const;
|
||||
@ -5790,13 +5833,15 @@ public:
|
||||
uint32 max_display_length_for_field(const Conv_source &src) const
|
||||
{ return MAX_DATETIME_WIDTH; }
|
||||
uint32 calc_pack_length(uint32 length) const;
|
||||
Field *make_conversion_table_field(TABLE *, uint metadata,
|
||||
Field *make_conversion_table_field(MEM_ROOT *root,
|
||||
TABLE *table, uint metadata,
|
||||
const Field *target) const;
|
||||
bool Column_definition_prepare_stage2(Column_definition *c,
|
||||
handler *file,
|
||||
ulonglong table_flags) const
|
||||
{ return Column_definition_prepare_stage2_legacy(c, MYSQL_TYPE_DATETIME); }
|
||||
Field *make_table_field(const LEX_CSTRING *name,
|
||||
Field *make_table_field(MEM_ROOT *root,
|
||||
const LEX_CSTRING *name,
|
||||
const Record_addr &addr,
|
||||
const Type_all_attributes &attr,
|
||||
TABLE *table) const;
|
||||
@ -5818,13 +5863,15 @@ public:
|
||||
enum_field_types real_field_type() const { return MYSQL_TYPE_DATETIME2; }
|
||||
uint32 max_display_length_for_field(const Conv_source &src) const;
|
||||
uint32 calc_pack_length(uint32 length) const;
|
||||
Field *make_conversion_table_field(TABLE *, uint metadata,
|
||||
Field *make_conversion_table_field(MEM_ROOT *root,
|
||||
TABLE *table, uint metadata,
|
||||
const Field *target) const;
|
||||
bool Column_definition_prepare_stage2(Column_definition *c,
|
||||
handler *file,
|
||||
ulonglong table_flags) const
|
||||
{ return Column_definition_prepare_stage2_legacy(c, MYSQL_TYPE_DATETIME2); }
|
||||
Field *make_table_field(const LEX_CSTRING *name,
|
||||
Field *make_table_field(MEM_ROOT *root,
|
||||
const LEX_CSTRING *name,
|
||||
const Record_addr &addr,
|
||||
const Type_all_attributes &attr,
|
||||
TABLE *table) const;
|
||||
@ -5928,13 +5975,15 @@ public:
|
||||
uint32 max_display_length_for_field(const Conv_source &src) const
|
||||
{ return MAX_DATETIME_WIDTH; }
|
||||
uint32 calc_pack_length(uint32 length) const;
|
||||
Field *make_conversion_table_field(TABLE *, uint metadata,
|
||||
Field *make_conversion_table_field(MEM_ROOT *root,
|
||||
TABLE *table, uint metadata,
|
||||
const Field *target) const;
|
||||
bool Column_definition_prepare_stage2(Column_definition *c,
|
||||
handler *file,
|
||||
ulonglong table_flags) const
|
||||
{ return Column_definition_prepare_stage2_legacy_num(c, MYSQL_TYPE_TIMESTAMP); }
|
||||
Field *make_table_field(const LEX_CSTRING *name,
|
||||
Field *make_table_field(MEM_ROOT *root,
|
||||
const LEX_CSTRING *name,
|
||||
const Record_addr &addr,
|
||||
const Type_all_attributes &attr,
|
||||
TABLE *table) const;
|
||||
@ -5956,7 +6005,8 @@ public:
|
||||
enum_field_types real_field_type() const { return MYSQL_TYPE_TIMESTAMP2; }
|
||||
uint32 max_display_length_for_field(const Conv_source &src) const;
|
||||
uint32 calc_pack_length(uint32 length) const;
|
||||
Field *make_conversion_table_field(TABLE *, uint metadata,
|
||||
Field *make_conversion_table_field(MEM_ROOT *root,
|
||||
TABLE *table, uint metadata,
|
||||
const Field *target) const;
|
||||
bool Column_definition_prepare_stage2(Column_definition *c,
|
||||
handler *file,
|
||||
@ -5964,7 +6014,8 @@ public:
|
||||
{
|
||||
return Column_definition_prepare_stage2_legacy_num(c, MYSQL_TYPE_TIMESTAMP2);
|
||||
}
|
||||
Field *make_table_field(const LEX_CSTRING *name,
|
||||
Field *make_table_field(MEM_ROOT *root,
|
||||
const LEX_CSTRING *name,
|
||||
const Record_addr &addr,
|
||||
const Type_all_attributes &attr,
|
||||
TABLE *table) const;
|
||||
@ -5990,14 +6041,16 @@ public:
|
||||
const Type_handler *type_handler_for_tmp_table(const Item *item) const;
|
||||
const Type_handler *type_handler_for_union(const Item *item) const;
|
||||
void show_binlog_type(const Conv_source &src, String *str) const;
|
||||
Field *make_conversion_table_field(TABLE *, uint metadata,
|
||||
Field *make_conversion_table_field(MEM_ROOT *root,
|
||||
TABLE *table, uint metadata,
|
||||
const Field *target) const;
|
||||
bool Column_definition_fix_attributes(Column_definition *c) const;
|
||||
bool Column_definition_prepare_stage2(Column_definition *c,
|
||||
handler *file,
|
||||
ulonglong table_flags) const
|
||||
{ return Column_definition_prepare_stage2_legacy_num(c, MYSQL_TYPE_DECIMAL); }
|
||||
Field *make_table_field(const LEX_CSTRING *name,
|
||||
Field *make_table_field(MEM_ROOT *root,
|
||||
const LEX_CSTRING *name,
|
||||
const Record_addr &addr,
|
||||
const Type_all_attributes &attr,
|
||||
TABLE *table) const;
|
||||
@ -6021,7 +6074,8 @@ public:
|
||||
uint32 max_display_length_for_field(const Conv_source &src) const;
|
||||
uint32 calc_pack_length(uint32 length) const;
|
||||
void show_binlog_type(const Conv_source &src, String *str) const;
|
||||
Field *make_conversion_table_field(TABLE *, uint metadata,
|
||||
Field *make_conversion_table_field(MEM_ROOT *root,
|
||||
TABLE *table, uint metadata,
|
||||
const Field *target) const;
|
||||
bool Column_definition_fix_attributes(Column_definition *c) const;
|
||||
bool Column_definition_prepare_stage1(THD *thd,
|
||||
@ -6037,7 +6091,8 @@ public:
|
||||
bool Column_definition_prepare_stage2(Column_definition *c,
|
||||
handler *file,
|
||||
ulonglong table_flags) const;
|
||||
Field *make_table_field(const LEX_CSTRING *name,
|
||||
Field *make_table_field(MEM_ROOT *root,
|
||||
const LEX_CSTRING *name,
|
||||
const Record_addr &addr,
|
||||
const Type_all_attributes &attr,
|
||||
TABLE *table) const;
|
||||
@ -6072,7 +6127,8 @@ public:
|
||||
bool binary_cmp) const;
|
||||
bool Item_save_in_value(THD *thd, Item *item, st_value *value) const;
|
||||
bool Item_send(Item *item, Protocol *protocol, st_value *buf) const;
|
||||
Field *make_conversion_table_field(TABLE *, uint metadata,
|
||||
Field *make_conversion_table_field(MEM_ROOT *root,
|
||||
TABLE *table, uint metadata,
|
||||
const Field *target) const;
|
||||
bool Column_definition_fix_attributes(Column_definition *c) const;
|
||||
bool Column_definition_prepare_stage1(THD *thd,
|
||||
@ -6089,7 +6145,8 @@ public:
|
||||
handler *file,
|
||||
ulonglong table_flags) const
|
||||
{ return Column_definition_prepare_stage2_legacy(c, MYSQL_TYPE_NULL); }
|
||||
Field *make_table_field(const LEX_CSTRING *name,
|
||||
Field *make_table_field(MEM_ROOT *root,
|
||||
const LEX_CSTRING *name,
|
||||
const Record_addr &addr,
|
||||
const Type_all_attributes &attr,
|
||||
TABLE *table) const;
|
||||
@ -6128,7 +6185,8 @@ public:
|
||||
return varstring_type_handler(item);
|
||||
}
|
||||
void show_binlog_type(const Conv_source &src, String *str) const;
|
||||
Field *make_conversion_table_field(TABLE *, uint metadata,
|
||||
Field *make_conversion_table_field(MEM_ROOT *root,
|
||||
TABLE *table, uint metadata,
|
||||
const Field *target) const;
|
||||
bool Column_definition_fix_attributes(Column_definition *c) const;
|
||||
bool Column_definition_prepare_stage2(Column_definition *c,
|
||||
@ -6136,7 +6194,8 @@ public:
|
||||
ulonglong table_flags) const;
|
||||
bool Key_part_spec_init_ft(Key_part_spec *part,
|
||||
const Column_definition &def) const;
|
||||
Field *make_table_field(const LEX_CSTRING *name,
|
||||
Field *make_table_field(MEM_ROOT *root,
|
||||
const LEX_CSTRING *name,
|
||||
const Record_addr &addr,
|
||||
const Type_all_attributes &attr,
|
||||
TABLE *table) const;
|
||||
@ -6208,7 +6267,8 @@ public:
|
||||
}
|
||||
bool is_param_long_data_type() const { return true; }
|
||||
void show_binlog_type(const Conv_source &src, String *str) const;
|
||||
Field *make_conversion_table_field(TABLE *, uint metadata,
|
||||
Field *make_conversion_table_field(MEM_ROOT *root,
|
||||
TABLE *table, uint metadata,
|
||||
const Field *target) const;
|
||||
bool Column_definition_fix_attributes(Column_definition *c) const;
|
||||
bool Column_definition_prepare_stage2(Column_definition *c,
|
||||
@ -6216,11 +6276,13 @@ public:
|
||||
ulonglong table_flags) const;
|
||||
bool Key_part_spec_init_ft(Key_part_spec *part,
|
||||
const Column_definition &def) const;
|
||||
Field *make_table_field(const LEX_CSTRING *name,
|
||||
Field *make_table_field(MEM_ROOT *root,
|
||||
const LEX_CSTRING *name,
|
||||
const Record_addr &addr,
|
||||
const Type_all_attributes &attr,
|
||||
TABLE *table) const;
|
||||
Field *make_schema_field(TABLE *table,
|
||||
Field *make_schema_field(MEM_ROOT *root,
|
||||
TABLE *table,
|
||||
const Record_addr &addr,
|
||||
const ST_FIELD_INFO &def,
|
||||
bool show_field) const;
|
||||
@ -6255,7 +6317,8 @@ public:
|
||||
}
|
||||
uint32 max_display_length_for_field(const Conv_source &src) const;
|
||||
void show_binlog_type(const Conv_source &src, String *str) const;
|
||||
Field *make_conversion_table_field(TABLE *, uint metadata,
|
||||
Field *make_conversion_table_field(MEM_ROOT *root,
|
||||
TABLE *table, uint metadata,
|
||||
const Field *target) const;
|
||||
enum_dynamic_column_type dyncol_type(const Type_all_attributes *attr) const
|
||||
{
|
||||
@ -6270,7 +6333,8 @@ class Type_handler_blob_common: public Type_handler_longstr
|
||||
public:
|
||||
virtual ~Type_handler_blob_common() { }
|
||||
virtual uint length_bytes() const= 0;
|
||||
Field *make_conversion_table_field(TABLE *, uint metadata,
|
||||
Field *make_conversion_table_field(MEM_ROOT *root,
|
||||
TABLE *table, uint metadata,
|
||||
const Field *target) const override;
|
||||
const Type_handler *type_handler_for_tmp_table(const Item *item) const
|
||||
override
|
||||
@ -6318,7 +6382,8 @@ public:
|
||||
override;
|
||||
void Item_param_setup_conversion(THD *thd, Item_param *) const override;
|
||||
|
||||
Field *make_schema_field(TABLE *table,
|
||||
Field *make_schema_field(MEM_ROOT *root,
|
||||
TABLE *table,
|
||||
const Record_addr &addr,
|
||||
const ST_FIELD_INFO &def,
|
||||
bool show_field) const override;
|
||||
@ -6342,7 +6407,8 @@ public:
|
||||
enum_field_types field_type() const { return MYSQL_TYPE_TINY_BLOB; }
|
||||
uint32 max_display_length_for_field(const Conv_source &src) const;
|
||||
uint32 calc_pack_length(uint32 length) const;
|
||||
Field *make_table_field(const LEX_CSTRING *name,
|
||||
Field *make_table_field(MEM_ROOT *root,
|
||||
const LEX_CSTRING *name,
|
||||
const Record_addr &addr,
|
||||
const Type_all_attributes &attr,
|
||||
TABLE *table) const;
|
||||
@ -6360,7 +6426,8 @@ public:
|
||||
enum_field_types field_type() const { return MYSQL_TYPE_MEDIUM_BLOB; }
|
||||
uint32 max_display_length_for_field(const Conv_source &src) const;
|
||||
uint32 calc_pack_length(uint32 length) const;
|
||||
Field *make_table_field(const LEX_CSTRING *name,
|
||||
Field *make_table_field(MEM_ROOT *root,
|
||||
const LEX_CSTRING *name,
|
||||
const Record_addr &addr,
|
||||
const Type_all_attributes &attr,
|
||||
TABLE *table) const;
|
||||
@ -6380,7 +6447,8 @@ public:
|
||||
uint32 calc_pack_length(uint32 length) const;
|
||||
Item *create_typecast_item(THD *thd, Item *item,
|
||||
const Type_cast_attributes &attr) const;
|
||||
Field *make_table_field(const LEX_CSTRING *name,
|
||||
Field *make_table_field(MEM_ROOT *root,
|
||||
const LEX_CSTRING *name,
|
||||
const Record_addr &addr,
|
||||
const Type_all_attributes &attr,
|
||||
TABLE *table) const;
|
||||
@ -6398,7 +6466,8 @@ public:
|
||||
enum_field_types field_type() const { return MYSQL_TYPE_BLOB; }
|
||||
uint32 max_display_length_for_field(const Conv_source &src) const;
|
||||
uint32 calc_pack_length(uint32 length) const;
|
||||
Field *make_table_field(const LEX_CSTRING *name,
|
||||
Field *make_table_field(MEM_ROOT *root,
|
||||
const LEX_CSTRING *name,
|
||||
const Record_addr &addr,
|
||||
const Type_all_attributes &attr,
|
||||
TABLE *table) const;
|
||||
@ -6415,7 +6484,8 @@ public:
|
||||
}
|
||||
uint32 max_display_length_for_field(const Conv_source &src) const;
|
||||
void show_binlog_type(const Conv_source &src, String *str) const;
|
||||
Field *make_conversion_table_field(TABLE *, uint metadata,
|
||||
Field *make_conversion_table_field(MEM_ROOT *root,
|
||||
TABLE *table, uint metadata,
|
||||
const Field *target) const;
|
||||
enum_dynamic_column_type dyncol_type(const Type_all_attributes *attr) const
|
||||
{
|
||||
@ -6469,13 +6539,15 @@ public:
|
||||
return MYSQL_TYPE_ENUM;
|
||||
}
|
||||
uint32 calc_pack_length(uint32 length) const;
|
||||
Field *make_conversion_table_field(TABLE *, uint metadata,
|
||||
Field *make_conversion_table_field(MEM_ROOT *root,
|
||||
TABLE *table, uint metadata,
|
||||
const Field *target) const;
|
||||
bool Column_definition_fix_attributes(Column_definition *c) const;
|
||||
bool Column_definition_prepare_stage2(Column_definition *c,
|
||||
handler *file,
|
||||
ulonglong table_flags) const;
|
||||
Field *make_table_field(const LEX_CSTRING *name,
|
||||
Field *make_table_field(MEM_ROOT *root,
|
||||
const LEX_CSTRING *name,
|
||||
const Record_addr &addr,
|
||||
const Type_all_attributes &attr,
|
||||
TABLE *table) const;
|
||||
@ -6486,7 +6558,8 @@ public:
|
||||
const Bit_addr &bit,
|
||||
const Column_definition_attributes *attr,
|
||||
uint32 flags) const;
|
||||
Field *make_schema_field(TABLE *table,
|
||||
Field *make_schema_field(MEM_ROOT *root,
|
||||
TABLE *table,
|
||||
const Record_addr &addr,
|
||||
const ST_FIELD_INFO &def,
|
||||
bool show_field) const;
|
||||
@ -6505,13 +6578,15 @@ public:
|
||||
return MYSQL_TYPE_SET;
|
||||
}
|
||||
uint32 calc_pack_length(uint32 length) const;
|
||||
Field *make_conversion_table_field(TABLE *, uint metadata,
|
||||
Field *make_conversion_table_field(MEM_ROOT *root,
|
||||
TABLE *table, uint metadata,
|
||||
const Field *target) const;
|
||||
bool Column_definition_fix_attributes(Column_definition *c) const;
|
||||
bool Column_definition_prepare_stage2(Column_definition *c,
|
||||
handler *file,
|
||||
ulonglong table_flags) const;
|
||||
Field *make_table_field(const LEX_CSTRING *name,
|
||||
Field *make_table_field(MEM_ROOT *root,
|
||||
const LEX_CSTRING *name,
|
||||
const Record_addr &addr,
|
||||
const Type_all_attributes &attr,
|
||||
TABLE *table) const;
|
||||
|
Reference in New Issue
Block a user