Skip to content

Commit 5dc6713

Browse files
authored
Fix wrongly string format in UnaryExpr (#123)
1 parent 036e3cf commit 5dc6713

File tree

5 files changed

+653
-3
lines changed

5 files changed

+653
-3
lines changed

parser/ast.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6645,7 +6645,7 @@ func (n *UnaryExpr) End() Pos {
66456645
}
66466646

66476647
func (n *UnaryExpr) String() string {
6648-
return "-" + n.Expr.String()
6648+
return string(n.Kind) + " " + n.Expr.String()
66496649
}
66506650

66516651
func (n *UnaryExpr) Accept(visitor ASTVisitor) error {

parser/parser_column.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,7 @@ func (p *Parser) parseColumnExtractExpr(pos Pos) (*ExtractExpr, error) {
299299
}
300300

301301
func (p *Parser) parseUnaryExpr(pos Pos) (Expr, error) {
302-
kind := p.last()
302+
op := p.last()
303303
switch {
304304
case p.matchTokenKind(TokenKindPlus),
305305
p.matchTokenKind(TokenKindMinus),
@@ -316,7 +316,7 @@ func (p *Parser) parseUnaryExpr(pos Pos) (Expr, error) {
316316

317317
return &UnaryExpr{
318318
UnaryPos: pos,
319-
Kind: kind.Kind,
319+
Kind: TokenKind(op.ToString()),
320320
Expr: expr,
321321
}, nil
322322

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
CREATE MATERIALIZED VIEW infra_bm.view_name
2+
ON CLUSTER 'default_cluster' TO infra_bm.table_name
3+
(
4+
`f1` DateTime64(3),
5+
`f2` String,
6+
`f3` String,
7+
`f4` String,
8+
`f5` String,
9+
`f6` Int64
10+
) AS
11+
SELECT f1,
12+
f2,
13+
visitParamExtractString(properties, 'f3') AS f3,
14+
visitParamExtractString(properties, 'f4') AS f4,
15+
visitParamExtractString(properties, 'f5') AS f5,
16+
visitParamExtractInt(properties, 'f6') AS f6
17+
FROM infra_bm.table_name1
18+
WHERE infra_bm.table_name1.event = 'test-event' AND
19+
NOT isZeroOrNull(f2) AND f6-2 > 0
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
-- Origin SQL:
2+
CREATE MATERIALIZED VIEW infra_bm.view_name
3+
ON CLUSTER 'default_cluster' TO infra_bm.table_name
4+
(
5+
`f1` DateTime64(3),
6+
`f2` String,
7+
`f3` String,
8+
`f4` String,
9+
`f5` String,
10+
`f6` Int64
11+
) AS
12+
SELECT f1,
13+
f2,
14+
visitParamExtractString(properties, 'f3') AS f3,
15+
visitParamExtractString(properties, 'f4') AS f4,
16+
visitParamExtractString(properties, 'f5') AS f5,
17+
visitParamExtractInt(properties, 'f6') AS f6
18+
FROM infra_bm.table_name1
19+
WHERE infra_bm.table_name1.event = 'test-event' AND
20+
NOT isZeroOrNull(f2) AND f6-2 > 0
21+
22+
-- Format SQL:
23+
CREATE MATERIALIZED VIEW infra_bm.view_name ON CLUSTER 'default_cluster' TO infra_bm.table_name (`f1` DateTime64(3), `f2` String, `f3` String, `f4` String, `f5` String, `f6` Int64) AS SELECT f1, f2, visitParamExtractString(properties, 'f3') AS f3, visitParamExtractString(properties, 'f4') AS f4, visitParamExtractString(properties, 'f5') AS f5, visitParamExtractInt(properties, 'f6') AS f6 FROM infra_bm.table_name1 WHERE infra_bm.table_name1.event = 'test-event' AND NOT isZeroOrNull(f2) AND f6 - 2 > 0;

0 commit comments

Comments
 (0)