Commit fe3aee30 authored by Gleb Shchepa's avatar Gleb Shchepa
Browse files

automerge 5.0-bugteam --> 5.1-bugteam

parents ac0027ae e7520c4b
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -181,4 +181,21 @@ c1 c2
3	3
DROP VIEW v1,v2;
DROP TABLE t1,t2;
CREATE TABLE t1 (i INT, d DATE);
INSERT INTO t1 VALUES (1, '2008-01-01'), (2, '2008-01-02'), (3, '2008-01-03');
SELECT COALESCE(d, d), IFNULL(d, d), IF(i, d, d),
CASE i WHEN i THEN d ELSE d END, GREATEST(d, d), LEAST(d, d)
FROM t1 ORDER BY RAND();
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
2008-01-01	2008-01-01	2008-01-01	2008-01-01	2008-01-01	2008-01-01
2008-01-02	2008-01-02	2008-01-02	2008-01-02	2008-01-02	2008-01-02
2008-01-03	2008-01-03	2008-01-03	2008-01-03	2008-01-03	2008-01-03
COALESCE(d, d)	IFNULL(d, d)	IF(i, d, d)	CASE i WHEN i THEN d ELSE d END	GREATEST(d, d)	LEAST(d, d)
def				CASE i WHEN i THEN d ELSE d END	CASE i WHEN i THEN d ELSE d END	10	10	10	Y	128	0	63
def				COALESCE(d, d)	COALESCE(d, d)	10	10	10	Y	128	0	63
def				GREATEST(d, d)	GREATEST(d, d)	10	10	10	Y	128	0	63
def				IF(i, d, d)	IF(i, d, d)	10	10	10	Y	128	0	63
def				IFNULL(d, d)	IFNULL(d, d)	10	10	10	Y	128	0	63
def				LEAST(d, d)	LEAST(d, d)	10	10	10	Y	128	0	63
DROP TABLE t1;
End of 5.0 tests
+17 −0
Original line number Diff line number Diff line
@@ -112,4 +112,21 @@ SELECT v1.c1, v2.c2 FROM v1 JOIN v2 ON c1=c2 GROUP BY v1.c1 ORDER BY v2.c2;
DROP VIEW v1,v2;
DROP TABLE t1,t2;

#
# Bug #39283: Date returned as VARBINARY to client for queries
#             with COALESCE and JOIN
#

CREATE TABLE t1 (i INT, d DATE);
INSERT INTO t1 VALUES (1, '2008-01-01'), (2, '2008-01-02'), (3, '2008-01-03');

--enable_metadata
--sorted_result
SELECT COALESCE(d, d), IFNULL(d, d), IF(i, d, d),
       CASE i WHEN i THEN d ELSE d END, GREATEST(d, d), LEAST(d, d)
  FROM t1 ORDER BY RAND(); # force filesort
--disable_metadata

DROP TABLE t1;

--echo End of 5.0 tests
+1 −0
Original line number Diff line number Diff line
@@ -9274,6 +9274,7 @@ static Field *create_tmp_field_from_item(THD *thd, Item *item, TABLE *table,
    */
    if ((type= item->field_type()) == MYSQL_TYPE_DATETIME ||
        type == MYSQL_TYPE_TIME || type == MYSQL_TYPE_DATE ||
        type == MYSQL_TYPE_NEWDATE ||
        type == MYSQL_TYPE_TIMESTAMP || type == MYSQL_TYPE_GEOMETRY)
      new_field= item->tmp_table_field_from_field_type(table, 1);
    /*