diff options
author | Alexander Barkov <bar@mariadb.com> | 2018-12-25 08:27:07 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mariadb.com> | 2018-12-25 08:27:07 +0400 |
commit | b316989223aa59f71420dc31497c41f3a9d2caf4 (patch) | |
tree | aaddd76027200385a2cd3ee1eb5f81e78292b1ae | |
parent | a8eb0c76bf72bea57e630b6500b981258bc25cfe (diff) | |
download | mariadb-git-b316989223aa59f71420dc31497c41f3a9d2caf4.tar.gz |
MDEV-18072 Assertion `is_null() == item->null_value || conv' failed in Timestamp_or_zero_datetime_native_null::Timestamp_or_zero_datetime_native_null upon query with GROUP BY
-rw-r--r-- | mysql-test/main/type_time.result | 9 | ||||
-rw-r--r-- | mysql-test/main/type_time.test | 9 | ||||
-rw-r--r-- | sql/sql_type.cc | 1 |
3 files changed, 19 insertions, 0 deletions
diff --git a/mysql-test/main/type_time.result b/mysql-test/main/type_time.result index 38b732d6f16..725b25f4f42 100644 --- a/mysql-test/main/type_time.result +++ b/mysql-test/main/type_time.result @@ -2177,5 +2177,14 @@ ERROR 22007: Incorrect time value: '0000-00-00 00:00:00' for column `test`.`t1`. SET sql_mode=DEFAULT; DROP TABLE t1; # +# MDEV-18070 Assertion `nanoseconds <= 1000000000' failed in Temporal::add_nanoseconds_ssff with TIME_ROUND_FRACTIONAL +# +CREATE TABLE t1 (t TIME); +SET SQL_MODE= 'TIME_ROUND_FRACTIONAL'; +INSERT INTO t1 VALUES (3e19); +Warnings: +Warning 1264 Out of range value for column 't' at row 1 +DROP TABLE t1; +# # End of 10.4 tests # diff --git a/mysql-test/main/type_time.test b/mysql-test/main/type_time.test index 67f714e61db..7eb75b95af2 100644 --- a/mysql-test/main/type_time.test +++ b/mysql-test/main/type_time.test @@ -1420,6 +1420,15 @@ INSERT INTO t1 VALUES ('0000-00-00 00:00:00'),('0000-00-00 00:00:00'); SET sql_mode=DEFAULT; DROP TABLE t1; +--echo # +--echo # MDEV-18070 Assertion `nanoseconds <= 1000000000' failed in Temporal::add_nanoseconds_ssff with TIME_ROUND_FRACTIONAL +--echo # + +CREATE TABLE t1 (t TIME); +SET SQL_MODE= 'TIME_ROUND_FRACTIONAL'; +INSERT INTO t1 VALUES (3e19); +DROP TABLE t1; + --echo # --echo # End of 10.4 tests diff --git a/sql/sql_type.cc b/sql/sql_type.cc index 263b5198588..96a73a85267 100644 --- a/sql/sql_type.cc +++ b/sql/sql_type.cc @@ -331,6 +331,7 @@ void Sec6::make_from_double(double nr, ulong *nanoseconds) { m_sec= LONGLONG_MAX; m_usec= 0; + *nanoseconds= 0; } else { |