mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
MDEV-18447 Assertion `!is_zero_datetime()' failed in Timestamp_or_zero_datetime::tv
This commit is contained in:
@ -1164,5 +1164,14 @@ NULL
|
||||
NULL
|
||||
DROP TABLE t1, t2, t3;
|
||||
#
|
||||
# MDEV-18447 Assertion `!is_zero_datetime()' failed in Timestamp_or_zero_datetime::tv
|
||||
#
|
||||
CREATE TABLE t1 (a TIMESTAMP DEFAULT 0, b TIMESTAMP DEFAULT 0, c TIME DEFAULT 0);
|
||||
INSERT INTO t1 VALUES (0,0,0);
|
||||
SELECT c IN (GREATEST(a,b)) FROM t1;
|
||||
c IN (GREATEST(a,b))
|
||||
0
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# End of 10.4 tests
|
||||
#
|
||||
|
@ -760,6 +760,14 @@ CREATE TABLE t3 (pk INT PRIMARY KEY, b TIMESTAMP) ENGINE=MyISAM;
|
||||
SELECT ( SELECT b FROM t1 LIMIT 1 ) AS sq FROM t2 LEFT JOIN t3 USING (pk);
|
||||
DROP TABLE t1, t2, t3;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-18447 Assertion `!is_zero_datetime()' failed in Timestamp_or_zero_datetime::tv
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (a TIMESTAMP DEFAULT 0, b TIMESTAMP DEFAULT 0, c TIME DEFAULT 0);
|
||||
INSERT INTO t1 VALUES (0,0,0);
|
||||
SELECT c IN (GREATEST(a,b)) FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.4 tests
|
||||
|
@ -2435,6 +2435,12 @@ public:
|
||||
length(0); // safety
|
||||
}
|
||||
int save_in_field(Field *field, uint decimals) const;
|
||||
Datetime to_datetime(THD *thd) const
|
||||
{
|
||||
return is_zero_datetime() ?
|
||||
Datetime() :
|
||||
Datetime(thd, Timestamp_or_zero_datetime(*this).tv());
|
||||
}
|
||||
bool is_zero_datetime() const
|
||||
{
|
||||
return length() == 0;
|
||||
@ -2459,7 +2465,7 @@ public:
|
||||
Datetime to_datetime(THD *thd) const
|
||||
{
|
||||
return is_null() ? Datetime() :
|
||||
Datetime(thd, Timestamp_or_zero_datetime(*this).tv());
|
||||
Timestamp_or_zero_datetime_native::to_datetime(thd);
|
||||
}
|
||||
void to_TIME(THD *thd, MYSQL_TIME *to)
|
||||
{
|
||||
|
Reference in New Issue
Block a user