summaryrefslogtreecommitdiff
path: root/sql/opt_range.cc
diff options
context:
space:
mode:
authorGleb Shchepa <gshchepa@mysql.com>2008-10-10 15:13:12 +0500
committerGleb Shchepa <gshchepa@mysql.com>2008-10-10 15:13:12 +0500
commit8bfbcbd98172ac936ff13ef97f2662cd6bc9a2c7 (patch)
tree2efe1de3ae86c64e7cf0f0a286c7979d507d7d64 /sql/opt_range.cc
parent5a3086221d79fc1b6b2c9c2b9bdb154759649063 (diff)
downloadmariadb-git-8bfbcbd98172ac936ff13ef97f2662cd6bc9a2c7.tar.gz
Bug #39283: Date returned as VARBINARY to client for queries
with COALESCE and JOIN The server returned to a client the VARBINARY column type instead of the DATE type for a result of the COALESCE, IFNULL, IF, CASE, GREATEST or LEAST functions if that result was filesorted in an anonymous temporary table during the query execution. For example: SELECT COALESCE(t1.date1, t2.date2) AS result FROM t1 JOIN t2 ON t1.id = t2.id ORDER BY result; To create a column of various date/time types in a temporary table the create_tmp_field_from_item() function uses the Item::tmp_table_field_from_field_type() method call. However, fields of the MYSQL_TYPE_NEWDATE type were missed there, and the VARBINARY columns were created by default. Necessary condition has been added. mysql-test/r/metadata.result: Added test case for bug #39283. mysql-test/t/metadata.test: Added test case for bug #39283. sql/sql_select.cc: Bug #39283: Date returned as VARBINARY to client for queries with COALESCE and JOIN To create a column of various date/time types in a temporary table the create_tmp_field_from_item() function uses the Item::tmp_table_field_from_field_type() method call. However, fields of the MYSQL_TYPE_NEWDATE type were missed there, and the VARBINARY columns were created by default. Necessary condition has been added.
Diffstat (limited to 'sql/opt_range.cc')
0 files changed, 0 insertions, 0 deletions