From f403dcfd4b06da02f435da6cf02b206da752bc2e Mon Sep 17 00:00:00 2001 From: Shen Li Date: Tue, 6 Dec 2016 15:44:33 +0800 Subject: [PATCH] typeinferer: Fix schema() function type infer bug (#2181) --- plan/typeinferer.go | 2 +- plan/typeinferer_test.go | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/plan/typeinferer.go b/plan/typeinferer.go index a5839ce392..8dda61f5f9 100644 --- a/plan/typeinferer.go +++ b/plan/typeinferer.go @@ -306,7 +306,7 @@ func (v *typeInferrer) handleFuncCallExpr(x *ast.FuncCallExpr) { } case "str_to_date": tp = types.NewFieldType(mysql.TypeDatetime) - case "dayname", "version", "database", "user", "current_user", + case "dayname", "version", "database", "user", "current_user", "schema", "concat", "concat_ws", "left", "lcase", "lower", "repeat", "replace", "ucase", "upper", "convert", "substring", "substring_index", "trim", "ltrim", "rtrim", "reverse", "hex", "unhex", "date_format": diff --git a/plan/typeinferer_test.go b/plan/typeinferer_test.go index 38e6cfb38b..e4129d7470 100644 --- a/plan/typeinferer_test.go +++ b/plan/typeinferer_test.go @@ -120,6 +120,7 @@ func (ts *testTypeInferrerSuite) TestInferType(c *C) { {"dayname('2007-02-03')", mysql.TypeVarString, "utf8"}, {"version()", mysql.TypeVarString, "utf8"}, {"database()", mysql.TypeVarString, "utf8"}, + {"schema()", mysql.TypeVarString, "utf8"}, {"user()", mysql.TypeVarString, "utf8"}, {"current_user()", mysql.TypeVarString, "utf8"}, {"CONCAT('T', 'i', 'DB')", mysql.TypeVarString, "utf8"},