diff --git a/plan/typeinferer.go b/plan/typeinferer.go index a5839ce3929db..8dda61f5f92d4 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 38e6cfb38b5b1..e4129d7470301 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"},