From 28de10e3a6166a5733cb1f81c5d0dd143cd12b73 Mon Sep 17 00:00:00 2001 From: "a.sabirov" <a.sabirov@picodata.io> Date: Mon, 29 Jul 2024 18:46:57 +0300 Subject: [PATCH] fix(query.pest): edit rules --- sbroad-core/src/frontend/sql/query.pest | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sbroad-core/src/frontend/sql/query.pest b/sbroad-core/src/frontend/sql/query.pest index 22c5bb0a38..39b13ccadd 100644 --- a/sbroad-core/src/frontend/sql/query.pest +++ b/sbroad-core/src/frontend/sql/query.pest @@ -151,7 +151,7 @@ DDL = _{ CreateTable | DropTable | CreateIndex | DropIndex Block = { CallProc ~ DqlOption? } CallProc = { ^"call" ~ Identifier ~ "(" ~ ProcValues ~ ")" } - ProcValues = { ProcValue? ~ ("," ~ ProcValue)* } + ProcValues = { (ProcValue ~ ("," ~ ProcValue)*)? } ProcValue = _{ Literal | Parameter } ExplainQuery = _{ Explain } @@ -228,7 +228,7 @@ Identifier = @{ DelimitedIdentifier | RegularIdentifier } RegularIdentifierApplicableSymbol = { !IdentifierInapplicableSymbol ~ ANY } IdentifierInapplicableSymbol = { WHITESPACE | "." | "," | "(" | EOF | ")" | "\"" | "'" | ArithInfixOp | ConcatInfixOp | NotEq | GtEq - | Gt | LtEq | Lt | Eq | Lt } + | Gt | LtEq | Lt | Eq } KeywordCoverage = { Keyword ~ IdentifierInapplicableSymbol } // Note: In case two keywords with the same prefix are met, shorter ones must go after longest. // E.g. ^"in" must go after ^"insert" because keywords traversal stops on the first match. @@ -259,7 +259,7 @@ Expr = { ExprAtomValue ~ (ExprInfixOp ~ ExprAtomValue)* } Subtract = { "-" } Multiply = { "*" } Divide = { "/" } - CmpInfixOp = _{ NotEq | GtEq | Gt | LtEq | Lt | Eq | Lt | In } + CmpInfixOp = _{ NotEq | GtEq | Gt | LtEq | Lt | Eq | In } Eq = { "=" } Gt = { ">" } GtEq = { ">=" } @@ -304,7 +304,7 @@ Expr = { ExprAtomValue ~ (ExprInfixOp ~ ExprAtomValue)* } Case = { ^"case" ~ Expr? ~ - CaseWhenBlock* ~ + CaseWhenBlock+ ~ CaseElseBlock? ~ ^"end" } -- GitLab