From b2ce51a06d99e42ac4b85622872631fe87609dfd Mon Sep 17 00:00:00 2001 From: Han Fei Date: Mon, 9 Jan 2017 23:25:22 +0800 Subject: [PATCH] *: support substr. (#2422) --- ast/functions.go | 1 + expression/builtin.go | 1 + plan/logical_plan_test.go | 4 ++++ 3 files changed, 6 insertions(+) diff --git a/ast/functions.go b/ast/functions.go index ecf30b695157d..62ec9e8cdc544 100644 --- a/ast/functions.go +++ b/ast/functions.go @@ -145,6 +145,7 @@ const ( Space = "space" Strcmp = "strcmp" Substring = "substring" + Substr = "substr" SubstringIndex = "substring_index" Trim = "trim" Upper = "upper" diff --git a/expression/builtin.go b/expression/builtin.go index c91f01cf38a39..6832051713ba6 100644 --- a/expression/builtin.go +++ b/expression/builtin.go @@ -215,6 +215,7 @@ var Funcs = map[string]Func{ ast.Space: {builtinSpace, 1, 1}, ast.Strcmp: {builtinStrcmp, 2, 2}, ast.Substring: {builtinSubstring, 2, 3}, + ast.Substr: {builtinSubstring, 2, 3}, ast.SubstringIndex: {builtinSubstringIndex, 3, 3}, ast.Trim: {builtinTrim, 1, 3}, ast.Upper: {builtinUpper, 1, 1}, diff --git a/plan/logical_plan_test.go b/plan/logical_plan_test.go index 7cbc5a1c391f8..c87e0d43f7c6e 100644 --- a/plan/logical_plan_test.go +++ b/plan/logical_plan_test.go @@ -577,6 +577,10 @@ func (s *testPlanSuite) TestPlanBuilder(c *C) { sql: "do sleep(5)", plan: "*plan.TableDual->Projection", }, + { + sql: "select substr(\"abc\", 1)", + plan: "*plan.TableDual->Projection", + }, } for _, ca := range cases { comment := Commentf("for %s", ca.sql)