diff --git a/go.mod b/go.mod index 17bb057..26097b3 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/AfterShip/clickhouse-sql-parser +module github.com/highlight/clickhouse-sql-parser go 1.18 diff --git a/main.go b/main.go index f713414..8e3d985 100644 --- a/main.go +++ b/main.go @@ -7,7 +7,7 @@ import ( "os" "strings" - clickhouse "github.com/AfterShip/clickhouse-sql-parser/parser" + clickhouse "github.com/highlight/clickhouse-sql-parser/parser" ) const VERSION = "0.3.8" diff --git a/parser/ast.go b/parser/ast.go index 548f1b3..5f73d36 100644 --- a/parser/ast.go +++ b/parser/ast.go @@ -2935,6 +2935,16 @@ func (f *ParamExprList) String() string { builder.WriteString(item.String()) } builder.WriteString(")") + if f.ColumnArgList != nil && len(f.ColumnArgList.Items) > 0 { + builder.WriteString("(") + for i, item := range f.ColumnArgList.Items { + if i > 0 { + builder.WriteString(", ") + } + builder.WriteString(item.String()) + } + builder.WriteString(")") + } return builder.String() } @@ -5208,8 +5218,11 @@ func (f *BetweenClause) End() Pos { func (f *BetweenClause) String() string { var builder strings.Builder - builder.WriteString(f.Expr.String()) - builder.WriteString(" BETWEEN ") + if f.Expr != nil { + builder.WriteString(f.Expr.String()) + builder.WriteString(" ") + } + builder.WriteString("BETWEEN ") builder.WriteString(f.Between.String()) builder.WriteString(" AND ") builder.WriteString(f.And.String()) @@ -5266,7 +5279,7 @@ func (f *WindowFrameUnbounded) End() Pos { } func (f *WindowFrameUnbounded) String() string { - return f.Direction + " UNBOUNDED" + return "UNBOUNDED " + f.Direction } func (f *WindowFrameUnbounded) Accept(visitor ASTVisitor) error {