From fc71411f293021b791302d6c1932d326981d5a48 Mon Sep 17 00:00:00 2001 From: Miguel Molina Date: Thu, 20 Jun 2019 15:50:32 +0200 Subject: [PATCH] function: correctly transform up explode nodes Signed-off-by: Miguel Molina --- engine_test.go | 10 ++++++++++ sql/expression/function/explode.go | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/engine_test.go b/engine_test.go index 99c0c3516..0299ad20e 100644 --- a/engine_test.go +++ b/engine_test.go @@ -2481,6 +2481,16 @@ var generatorQueries = []struct { {int64(3), "f", "third"}, }, }, + { + `SELECT EXPLODE(SPLIT(c, "")) FROM t LIMIT 5`, + []sql.Row{ + {"f"}, + {"i"}, + {"r"}, + {"s"}, + {"t"}, + }, + }, { `SELECT a, EXPLODE(b) AS x, c FROM t WHERE x = 'e'`, []sql.Row{ diff --git a/sql/expression/function/explode.go b/sql/expression/function/explode.go index 5c96f509a..c001eb5f9 100644 --- a/sql/expression/function/explode.go +++ b/sql/expression/function/explode.go @@ -86,7 +86,7 @@ func (e *Generate) String() string { // TransformUp implements the sql.Expression interface. func (e *Generate) TransformUp(f sql.TransformExprFunc) (sql.Expression, error) { - c, err := f(e.Child) + c, err := e.Child.TransformUp(f) if err != nil { return nil, err }