mirror of
https://github.com/MariaDB/server.git
synced 2025-11-03 14:33:32 +03:00
BUG#49836: Replication of geometric fields is broken after WL#5151
Metadata for geometric fields was not being properly stored by the slave in its the table definition. This happened because MYSQL_TYPE_GEOMETRY was not included in the 'switch... case' that handles field metadata according to the field type. Therefore, it would default to 0, leading to always have a mismatch between master's field and slave fields'. We fix this by deploying the missing 'case MYSQL_TYPE_GEOMETRY:'.
This commit is contained in:
@@ -1817,10 +1817,6 @@ public:
|
||||
uint size_of() const { return sizeof(*this); }
|
||||
int reset(void) { return !maybe_null() || Field_blob::reset(); }
|
||||
geometry_type get_geometry_type() { return geom_type; };
|
||||
uint pack_length_from_metadata(uint field_metadata)
|
||||
{
|
||||
return pack_length_no_ptr();
|
||||
}
|
||||
};
|
||||
#endif /*HAVE_SPATIAL*/
|
||||
|
||||
|
||||
@@ -977,6 +977,7 @@ table_def::table_def(unsigned char *types, ulong size,
|
||||
case MYSQL_TYPE_LONG_BLOB:
|
||||
case MYSQL_TYPE_DOUBLE:
|
||||
case MYSQL_TYPE_FLOAT:
|
||||
case MYSQL_TYPE_GEOMETRY:
|
||||
{
|
||||
/*
|
||||
These types store a single byte.
|
||||
|
||||
Reference in New Issue
Block a user