diff options
author | Alexander Barkov <bar@mariadb.com> | 2019-08-19 20:57:59 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mariadb.com> | 2019-08-19 20:57:59 +0400 |
commit | 1d58e62d5bb6069722118568311f58848c57c1d8 (patch) | |
tree | 48fc92373a201908101882ef5519e7275c28deb0 | |
parent | da53fb6d7de906fd8bd73d5f244bac4d77b687aa (diff) | |
download | mariadb-git-1d58e62d5bb6069722118568311f58848c57c1d8.tar.gz |
MDEV-20384 Assertion `field.is_sane()' failed in Protocol_text::store_field_metadata
-rw-r--r-- | mysql-test/main/type_year.result | 26 | ||||
-rw-r--r-- | mysql-test/main/type_year.test | 24 | ||||
-rw-r--r-- | sql/sql_type.h | 1 |
3 files changed, 51 insertions, 0 deletions
diff --git a/mysql-test/main/type_year.result b/mysql-test/main/type_year.result index 71285418588..1792cd5b7d4 100644 --- a/mysql-test/main/type_year.result +++ b/mysql-test/main/type_year.result @@ -587,3 +587,29 @@ DROP TABLE t1; # # End of 10.4 tests # +# +# Start of 10.5 tests +# +# +# MDEV-20384 Assertion `field.is_sane()' failed in Protocol_text::store_field_metadata +# +CREATE TABLE t1 (a YEAR); +INSERT INTO t1 VALUES (2000),(2001); +SELECT MAX( NULLIF( a, 1970 ) ) AS f FROM t1; +f +2001 +SELECT NULLIF(a, 1970) AS f FROM t1 ORDER BY a; +Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr +def f 13 4 4 Y 32928 0 63 +f +2000 +2001 +SELECT MAX(NULLIF(a, 1970)) AS f FROM t1; +Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr +def f 8 4 4 Y 32928 0 63 +f +2001 +DROP TABLE t1; +# +# End of 10.5 tests +# diff --git a/mysql-test/main/type_year.test b/mysql-test/main/type_year.test index 3c578b3ab59..6f16610c06f 100644 --- a/mysql-test/main/type_year.test +++ b/mysql-test/main/type_year.test @@ -329,3 +329,27 @@ DROP TABLE t1; --echo # --echo # End of 10.4 tests --echo # + +--echo # +--echo # Start of 10.5 tests +--echo # + +--echo # +--echo # MDEV-20384 Assertion `field.is_sane()' failed in Protocol_text::store_field_metadata +--echo # + +CREATE TABLE t1 (a YEAR); +INSERT INTO t1 VALUES (2000),(2001); +SELECT MAX( NULLIF( a, 1970 ) ) AS f FROM t1; +--disable_ps_protocol +--enable_metadata +SELECT NULLIF(a, 1970) AS f FROM t1 ORDER BY a; +SELECT MAX(NULLIF(a, 1970)) AS f FROM t1; +--disable_metadata +--enable_ps_protocol +DROP TABLE t1; + + +--echo # +--echo # End of 10.5 tests +--echo # diff --git a/sql/sql_type.h b/sql/sql_type.h index 07cc9db4760..753190d295b 100644 --- a/sql/sql_type.h +++ b/sql/sql_type.h @@ -5335,6 +5335,7 @@ public: virtual ~Type_handler_year() {} const Name name() const override { return m_name_year; } enum_field_types field_type() const override { return MYSQL_TYPE_YEAR; } + uint flags() const override { return UNSIGNED_FLAG; } protocol_send_type_t protocol_send_type() const override { return PROTOCOL_SEND_SHORT; |