diff --git a/sql/sql_type.cc b/sql/sql_type.cc index c8a5ada46c9..753223f5f24 100644 --- a/sql/sql_type.cc +++ b/sql/sql_type.cc @@ -3452,7 +3452,7 @@ Field *Type_handler::make_and_init_table_field(MEM_ROOT *root, const Type_all_attributes &attr, TABLE *table) const { - Field *field= make_table_field(root, name, addr, attr, table); + Field *field= make_table_field(root, name, addr, attr, table->s); if (field) field->init(table); return field; @@ -3463,7 +3463,7 @@ Field *Type_handler_tiny::make_table_field(MEM_ROOT *root, const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const + TABLE_SHARE *share) const { DBUG_ASSERT(is_unsigned() == attr.unsigned_flag); return new (root) @@ -3477,7 +3477,7 @@ Field *Type_handler_short::make_table_field(MEM_ROOT *root, const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const + TABLE_SHARE *share) const { DBUG_ASSERT(is_unsigned() == attr.unsigned_flag); @@ -3492,7 +3492,7 @@ Field *Type_handler_int24::make_table_field(MEM_ROOT *root, const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const + TABLE_SHARE *share) const { DBUG_ASSERT(is_unsigned() == attr.unsigned_flag); return new (root) @@ -3507,7 +3507,7 @@ Field *Type_handler_long::make_table_field(MEM_ROOT *root, const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const + TABLE_SHARE *share) const { DBUG_ASSERT(is_unsigned() == attr.unsigned_flag); return new (root) @@ -3521,7 +3521,7 @@ Field *Type_handler_longlong::make_table_field(MEM_ROOT *root, const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const + TABLE_SHARE *share) const { DBUG_ASSERT(is_unsigned() == attr.unsigned_flag); return new (root) @@ -3536,7 +3536,7 @@ Field *Type_handler_vers_trx_id::make_table_field(MEM_ROOT *root, const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const + TABLE_SHARE *share) const { DBUG_ASSERT(is_unsigned() == attr.unsigned_flag); return new (root) @@ -3551,7 +3551,7 @@ Field *Type_handler_float::make_table_field(MEM_ROOT *root, const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const + TABLE_SHARE *share) const { return new (root) Field_float(addr.ptr(), attr.max_char_length(), @@ -3565,7 +3565,7 @@ Field *Type_handler_double::make_table_field(MEM_ROOT *root, const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const + TABLE_SHARE *share) const { return new (root) Field_double(addr.ptr(), attr.max_char_length(), @@ -3580,7 +3580,7 @@ Type_handler_olddecimal::make_table_field(MEM_ROOT *root, const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const + TABLE_SHARE *share) const { /* Currently make_table_field() is used for Item purpose only. @@ -3603,7 +3603,7 @@ Type_handler_newdecimal::make_table_field(MEM_ROOT *root, const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const + TABLE_SHARE *share) const { uint8 dec= (uint8) attr.decimals; uint8 intg= (uint8) (attr.decimal_precision() - dec); @@ -3650,7 +3650,7 @@ Field *Type_handler_year::make_table_field(MEM_ROOT *root, const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const + TABLE_SHARE *share) const { return new (root) Field_year(addr.ptr(), attr.max_length, @@ -3663,7 +3663,7 @@ Field *Type_handler_null::make_table_field(MEM_ROOT *root, const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const + TABLE_SHARE *share) const { return new (root) @@ -3676,12 +3676,12 @@ Field *Type_handler_timestamp::make_table_field(MEM_ROOT *root, const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const + TABLE_SHARE *share) const { return new_Field_timestamp(root, addr.ptr(), addr.null_ptr(), addr.null_bit(), - Field::NONE, name, table->s, attr.decimals); + Field::NONE, name, share, attr.decimals); } @@ -3689,7 +3689,7 @@ Field *Type_handler_timestamp2::make_table_field(MEM_ROOT *root, const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const + TABLE_SHARE *share) const { /* @@ -3698,7 +3698,7 @@ Field *Type_handler_timestamp2::make_table_field(MEM_ROOT *root, */ return new_Field_timestamp(root, addr.ptr(), addr.null_ptr(), addr.null_bit(), - Field::NONE, name, table->s, attr.decimals); + Field::NONE, name, share, attr.decimals); } @@ -3706,7 +3706,7 @@ Field *Type_handler_newdate::make_table_field(MEM_ROOT *root, const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const + TABLE_SHARE *share) const { return new (root) @@ -3719,7 +3719,7 @@ Field *Type_handler_date::make_table_field(MEM_ROOT *root, const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const + TABLE_SHARE *share) const { /* @@ -3737,7 +3737,7 @@ Field *Type_handler_time::make_table_field(MEM_ROOT *root, const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const + TABLE_SHARE *share) const { return new_Field_time(root, @@ -3750,7 +3750,7 @@ Field *Type_handler_time2::make_table_field(MEM_ROOT *root, const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const + TABLE_SHARE *share) const { @@ -3768,7 +3768,7 @@ Field *Type_handler_datetime::make_table_field(MEM_ROOT *root, const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const + TABLE_SHARE *share) const { return new_Field_datetime(root, @@ -3781,7 +3781,7 @@ Field *Type_handler_datetime2::make_table_field(MEM_ROOT *root, const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const + TABLE_SHARE *share) const { /* Will be changed to "new Field_datetimef" when we reuse @@ -3797,7 +3797,7 @@ Field *Type_handler_bit::make_table_field(MEM_ROOT *root, const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const + TABLE_SHARE *share) const { return new (root) @@ -3811,7 +3811,7 @@ Field *Type_handler_string::make_table_field(MEM_ROOT *root, const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const + TABLE_SHARE *share) const { return new (root) @@ -3825,7 +3825,7 @@ Field *Type_handler_varchar::make_table_field(MEM_ROOT *root, const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const + TABLE_SHARE *share) const { DBUG_ASSERT(HA_VARCHAR_PACKLENGTH(attr.max_length) <= @@ -3835,7 +3835,7 @@ Field *Type_handler_varchar::make_table_field(MEM_ROOT *root, HA_VARCHAR_PACKLENGTH(attr.max_length), addr.null_ptr(), addr.null_bit(), Field::NONE, name, - table->s, attr.collation); + share, attr.collation); } @@ -3843,12 +3843,12 @@ Field *Type_handler_tiny_blob::make_table_field(MEM_ROOT *root, const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const + TABLE_SHARE *share) const { return new (root) Field_blob(addr.ptr(), addr.null_ptr(), addr.null_bit(), - Field::NONE, name, table->s, + Field::NONE, name, share, 1, attr.collation); } @@ -3857,12 +3857,12 @@ Field *Type_handler_blob::make_table_field(MEM_ROOT *root, const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const + TABLE_SHARE *share) const { return new (root) Field_blob(addr.ptr(), addr.null_ptr(), addr.null_bit(), - Field::NONE, name, table->s, + Field::NONE, name, share, 2, attr.collation); } @@ -3872,12 +3872,12 @@ Type_handler_medium_blob::make_table_field(MEM_ROOT *root, const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const + TABLE_SHARE *share) const { return new (root) Field_blob(addr.ptr(), addr.null_ptr(), addr.null_bit(), - Field::NONE, name, table->s, + Field::NONE, name, share, 3, attr.collation); } @@ -3886,12 +3886,12 @@ Field *Type_handler_long_blob::make_table_field(MEM_ROOT *root, const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const + TABLE_SHARE *share) const { return new (root) Field_blob(addr.ptr(), addr.null_ptr(), addr.null_bit(), - Field::NONE, name, table->s, + Field::NONE, name, share, 4, attr.collation); } @@ -3900,7 +3900,7 @@ Field *Type_handler_enum::make_table_field(MEM_ROOT *root, const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const + TABLE_SHARE *share) const { const TYPELIB *typelib= attr.get_typelib(); DBUG_ASSERT(typelib); @@ -3917,7 +3917,7 @@ Field *Type_handler_set::make_table_field(MEM_ROOT *root, const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const + TABLE_SHARE *share) const { const TYPELIB *typelib= attr.get_typelib(); diff --git a/sql/sql_type.h b/sql/sql_type.h index a39b2d837c2..998278ad69c 100644 --- a/sql/sql_type.h +++ b/sql/sql_type.h @@ -3649,7 +3649,7 @@ public: const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const= 0; + TABLE_SHARE *share) const= 0; Field *make_and_init_table_field(MEM_ROOT *root, const LEX_CSTRING *name, const Record_addr &addr, @@ -4070,7 +4070,7 @@ public: const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const override + TABLE_SHARE *share) const override { DBUG_ASSERT(0); return NULL; @@ -5126,7 +5126,7 @@ public: const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const override; + TABLE_SHARE *share) const override; Field *make_schema_field(MEM_ROOT *root, TABLE *table, const Record_addr &addr, @@ -5185,7 +5185,7 @@ public: const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const override; + TABLE_SHARE *share) const override; Field *make_schema_field(MEM_ROOT *root, TABLE *table, const Record_addr &addr, @@ -5244,7 +5244,7 @@ public: const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const override; + TABLE_SHARE *share) const override; Field *make_schema_field(MEM_ROOT *root, TABLE *table, const Record_addr &addr, @@ -5319,7 +5319,7 @@ public: const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const override; + TABLE_SHARE *share) const override; Field *make_schema_field(MEM_ROOT *root, TABLE *table, const Record_addr &addr, @@ -5354,7 +5354,7 @@ public: const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const override; + TABLE_SHARE *share) const override; }; @@ -5390,7 +5390,7 @@ public: const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const override; + TABLE_SHARE *share) const override; Field *make_table_field_from_def(TABLE_SHARE *share, MEM_ROOT *mem_root, const LEX_CSTRING *name, @@ -5445,7 +5445,7 @@ public: const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const override; + TABLE_SHARE *share) const override; Field *make_table_field_from_def(TABLE_SHARE *share, MEM_ROOT *mem_root, const LEX_CSTRING *name, @@ -5515,7 +5515,7 @@ public: const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const override; + TABLE_SHARE *share) const override; Field *make_table_field_from_def(TABLE_SHARE *share, MEM_ROOT *mem_root, const LEX_CSTRING *name, @@ -5561,7 +5561,7 @@ public: const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const override; + TABLE_SHARE *share) const override; Field *make_schema_field(MEM_ROOT *root, TABLE *table, const Record_addr &addr, @@ -5621,7 +5621,7 @@ public: const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const override; + TABLE_SHARE *share) const override; Field *make_schema_field(MEM_ROOT *root, TABLE *table, const Record_addr &addr, @@ -5773,7 +5773,7 @@ public: const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const override; + TABLE_SHARE *share) const override; Field *make_table_field_from_def(TABLE_SHARE *share, MEM_ROOT *mem_root, const LEX_CSTRING *name, @@ -5803,7 +5803,7 @@ public: const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const override; + TABLE_SHARE *share) const override; Field *make_table_field_from_def(TABLE_SHARE *share, MEM_ROOT *mem_root, const LEX_CSTRING *name, @@ -5923,7 +5923,7 @@ public: const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const override; + TABLE_SHARE *share) const override; Field *make_table_field_from_def(TABLE_SHARE *share, MEM_ROOT *mem_root, const LEX_CSTRING *name, @@ -5954,7 +5954,7 @@ public: const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const override; + TABLE_SHARE *share) const override; Field *make_table_field_from_def(TABLE_SHARE *share, MEM_ROOT *mem_root, const LEX_CSTRING *name, @@ -6064,7 +6064,7 @@ public: const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const override; + TABLE_SHARE *share) const override; Field *make_table_field_from_def(TABLE_SHARE *share, MEM_ROOT *mem_root, const LEX_CSTRING *name, @@ -6097,7 +6097,7 @@ public: const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const override; + TABLE_SHARE *share) const override; Field *make_table_field_from_def(TABLE_SHARE *share, MEM_ROOT *mem_root, const LEX_CSTRING *name, @@ -6227,7 +6227,7 @@ public: const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const override; + TABLE_SHARE *share) const override; Field *make_table_field_from_def(TABLE_SHARE *share, MEM_ROOT *mem_root, const LEX_CSTRING *name, @@ -6262,7 +6262,7 @@ public: const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const override; + TABLE_SHARE *share) const override; Field *make_table_field_from_def(TABLE_SHARE *share, MEM_ROOT *mem_root, const LEX_CSTRING *name, @@ -6297,7 +6297,7 @@ public: const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const override; + TABLE_SHARE *share) const override; Field *make_table_field_from_def(TABLE_SHARE *share, MEM_ROOT *mem_root, const LEX_CSTRING *name, @@ -6340,7 +6340,7 @@ public: const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const override; + TABLE_SHARE *share) const override; Field *make_table_field_from_def(TABLE_SHARE *share, MEM_ROOT *mem_root, const LEX_CSTRING *name, @@ -6400,7 +6400,7 @@ public: const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const override; + TABLE_SHARE *share) const override; Field *make_table_field_from_def(TABLE_SHARE *share, MEM_ROOT *mem_root, const LEX_CSTRING *name, @@ -6449,7 +6449,7 @@ public: const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const override; + TABLE_SHARE *share) const override; Field *make_table_field_from_def(TABLE_SHARE *share, MEM_ROOT *mem_root, const LEX_CSTRING *name, @@ -6531,7 +6531,7 @@ public: const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const override; + TABLE_SHARE *share) const override; Field *make_schema_field(MEM_ROOT *root, TABLE *table, const Record_addr &addr, @@ -6662,7 +6662,7 @@ public: const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const override; + TABLE_SHARE *share) const override; uint max_octet_length() const override { return UINT_MAX8; } }; @@ -6680,7 +6680,7 @@ public: const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const override; + TABLE_SHARE *share) const override; uint max_octet_length() const override { return UINT_MAX24; } }; @@ -6700,7 +6700,7 @@ public: const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const override; + TABLE_SHARE *share) const override; uint max_octet_length() const override { return UINT_MAX32; } }; @@ -6718,7 +6718,7 @@ public: const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const override; + TABLE_SHARE *share) const override; uint max_octet_length() const override { return UINT_MAX16; } }; @@ -6807,7 +6807,7 @@ public: const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const override; + TABLE_SHARE *share) const override; Field *make_table_field_from_def(TABLE_SHARE *share, MEM_ROOT *mem_root, const LEX_CSTRING *name, @@ -6850,7 +6850,7 @@ public: const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const override; + TABLE_SHARE *share) const override; Field *make_table_field_from_def(TABLE_SHARE *share, MEM_ROOT *mem_root, const LEX_CSTRING *name, diff --git a/sql/sql_type_geom.cc b/sql/sql_type_geom.cc index 5d6e5184b35..c2c11e952eb 100644 --- a/sql/sql_type_geom.cc +++ b/sql/sql_type_geom.cc @@ -475,11 +475,11 @@ Field *Type_handler_geometry::make_table_field(MEM_ROOT *root, const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const + TABLE_SHARE *share) const { return new (root) Field_geom(addr.ptr(), addr.null_ptr(), addr.null_bit(), - Field::NONE, name, table->s, 4, this, 0); + Field::NONE, name, share, 4, this, 0); } diff --git a/sql/sql_type_geom.h b/sql/sql_type_geom.h index 6f87a7312cd..ff21fa51790 100644 --- a/sql/sql_type_geom.h +++ b/sql/sql_type_geom.h @@ -119,7 +119,7 @@ public: const LEX_CSTRING *name, const Record_addr &addr, const Type_all_attributes &attr, - TABLE *table) const override; + TABLE_SHARE *share) const override; Field *make_table_field_from_def(TABLE_SHARE *share, MEM_ROOT *mem_root,