From ac31915b7626e2ac7bce4285d85e3d0018f5ee26 Mon Sep 17 00:00:00 2001 From: bianyucheng Date: Wed, 7 Aug 2024 10:35:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=BF=E7=94=A8=E5=8D=A0=E4=BD=8D=E7=AC=A6?= =?UTF-8?q?=E6=9B=BF=E4=BB=A3=E9=97=AE=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ast/data.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ast/data.go b/ast/data.go index aa126ac..18e066f 100644 --- a/ast/data.go +++ b/ast/data.go @@ -78,16 +78,19 @@ func (d *Data) AddChildren(ns ...Node) error { func (d *Data) GetStmt(ctx *Context) (string, error) { buff := bytes.Buffer{} + num := 1 for _, child := range d.Nodes { switch dt := child.(type) { case Value: buff.WriteString(dt.String()) case *Param: - buff.WriteString(dt.String()) + buff.WriteString(fmt.Sprintf("$%d", num)) + num += 1 case *Variable: variable, ok := ctx.GetVariable(dt.Name) if !ok { - buff.WriteString("?") + buff.WriteString(fmt.Sprintf("$%d", num)) + num += 1 //return "", fmt.Errorf("variable %s undifine", dt.Name) } else { buff.WriteString(variable)