mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Bug #30942: select str_to_date from derived table returns varying results
The function str_to_date has a field to say whether it's invoked constant arguments. But this member was not initialized, causing the function to think that it could use a cache of the format type when said cache was in fact not initialized. Fixed by initializing the field to false. mysql-test/r/type_date.result: Bug#30942: Test result mysql-test/t/type_date.test: Bug#30942: Test case sql/item_timefunc.h: Bug#30942: Initialized const_item to false
This commit is contained in:
@ -136,3 +136,13 @@ d dt ts
|
|||||||
0000-00-00 0000-00-00 00:00:00 0000-00-00 00:00:00
|
0000-00-00 0000-00-00 00:00:00 0000-00-00 00:00:00
|
||||||
2001-11-11 2001-11-11 00:00:00 2001-11-11 00:00:00
|
2001-11-11 2001-11-11 00:00:00 2001-11-11 00:00:00
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
a INT
|
||||||
|
);
|
||||||
|
INSERT INTO t1 VALUES (1);
|
||||||
|
INSERT INTO t1 VALUES (NULL);
|
||||||
|
SELECT str_to_date( '', a ) FROM t1;
|
||||||
|
str_to_date( '', a )
|
||||||
|
0000-00-00 00:00:00
|
||||||
|
NULL
|
||||||
|
DROP TABLE t1;
|
||||||
|
@ -136,3 +136,16 @@ insert into t1 values (9912101,9912101,9912101);
|
|||||||
insert into t1 values (11111,11111,11111);
|
insert into t1 values (11111,11111,11111);
|
||||||
select * from t1;
|
select * from t1;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #30942: select str_to_date from derived table returns varying results
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
a INT
|
||||||
|
);
|
||||||
|
|
||||||
|
INSERT INTO t1 VALUES (1);
|
||||||
|
INSERT INTO t1 VALUES (NULL);
|
||||||
|
|
||||||
|
SELECT str_to_date( '', a ) FROM t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
@ -1030,7 +1030,7 @@ class Item_func_str_to_date :public Item_str_func
|
|||||||
bool const_item;
|
bool const_item;
|
||||||
public:
|
public:
|
||||||
Item_func_str_to_date(Item *a, Item *b)
|
Item_func_str_to_date(Item *a, Item *b)
|
||||||
:Item_str_func(a, b)
|
:Item_str_func(a, b), const_item(false)
|
||||||
{}
|
{}
|
||||||
String *val_str(String *str);
|
String *val_str(String *str);
|
||||||
bool get_date(MYSQL_TIME *ltime, uint fuzzy_date);
|
bool get_date(MYSQL_TIME *ltime, uint fuzzy_date);
|
||||||
|
Reference in New Issue
Block a user