diff options
-rw-r--r-- | mysql-test/extra/rpl_tests/type_conversions.test | 7 | ||||
-rw-r--r-- | mysql-test/suite/rpl/r/rpl_typeconv.result | 4 | ||||
-rw-r--r-- | sql/field.h | 4 |
3 files changed, 15 insertions, 0 deletions
diff --git a/mysql-test/extra/rpl_tests/type_conversions.test b/mysql-test/extra/rpl_tests/type_conversions.test index 6e52da59201..791e07c4822 100644 --- a/mysql-test/extra/rpl_tests/type_conversions.test +++ b/mysql-test/extra/rpl_tests/type_conversions.test @@ -12,6 +12,13 @@ connection slave; let $if_is_lossy = `SELECT FIND_IN_SET('ALL_LOSSY', @@SLAVE_TYPE_CONVERSIONS)`; let $if_is_non_lossy = `SELECT FIND_IN_SET('ALL_NON_LOSSY', @@SLAVE_TYPE_CONVERSIONS)`; +let $source_type = GEOMETRY; +let $target_type = GEOMETRY; +let $source_value = PointFromText('POINT(10 10)'); +let $target_value = PointFromText('POINT(10 10)'); +let $can_convert = 1; +source extra/rpl_tests/check_type.inc; + let $source_type = BIT(1); let $target_type = BIT(1); let $source_value = b'1'; diff --git a/mysql-test/suite/rpl/r/rpl_typeconv.result b/mysql-test/suite/rpl/r/rpl_typeconv.result index 90451759406..34ec81973ae 100644 --- a/mysql-test/suite/rpl/r/rpl_typeconv.result +++ b/mysql-test/suite/rpl/r/rpl_typeconv.result @@ -69,6 +69,7 @@ RESET MASTER; include/start_slave.inc **** Result of conversions **** Source_Type Target_Type All_Type_Conversion_Flags Value_On_Slave +GEOMETRY GEOMETRY <Correct value> BIT(1) BIT(1) <Correct value> DATE DATE <Correct value> ENUM('master',' ENUM('master',' <Correct value> @@ -171,6 +172,7 @@ BIT(5) BIT(6) <Correct error> BIT(6) BIT(5) <Correct error> BIT(5) BIT(12) <Correct error> BIT(12) BIT(5) <Correct error> +GEOMETRY GEOMETRY ALL_NON_LOSSY <Correct value> BIT(1) BIT(1) ALL_NON_LOSSY <Correct value> DATE DATE ALL_NON_LOSSY <Correct value> ENUM('master',' ENUM('master',' ALL_NON_LOSSY <Correct value> @@ -273,6 +275,7 @@ BIT(5) BIT(6) ALL_NON_LOSSY <Correct value> BIT(6) BIT(5) ALL_NON_LOSSY <Correct error> BIT(5) BIT(12) ALL_NON_LOSSY <Correct value> BIT(12) BIT(5) ALL_NON_LOSSY <Correct error> +GEOMETRY GEOMETRY ALL_LOSSY <Correct value> BIT(1) BIT(1) ALL_LOSSY <Correct value> DATE DATE ALL_LOSSY <Correct value> ENUM('master',' ENUM('master',' ALL_LOSSY <Correct value> @@ -375,6 +378,7 @@ BIT(5) BIT(6) ALL_LOSSY <Correct error> BIT(6) BIT(5) ALL_LOSSY <Correct value> BIT(5) BIT(12) ALL_LOSSY <Correct error> BIT(12) BIT(5) ALL_LOSSY <Correct value> +GEOMETRY GEOMETRY ALL_LOSSY,ALL_NON_LOSSY <Correct value> BIT(1) BIT(1) ALL_LOSSY,ALL_NON_LOSSY <Correct value> DATE DATE ALL_LOSSY,ALL_NON_LOSSY <Correct value> ENUM('master',' ENUM('master',' ALL_LOSSY,ALL_NON_LOSSY <Correct value> diff --git a/sql/field.h b/sql/field.h index 041610f5385..192f0c8e460 100644 --- a/sql/field.h +++ b/sql/field.h @@ -1817,6 +1817,10 @@ 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*/ |