From c508313e4b3f913e15736f0f36db037a63bae2a9 Mon Sep 17 00:00:00 2001 From: Kaitmazian Maksim <m.kaitmazian@picodata.io> Date: Thu, 20 Jun 2024 14:00:04 +0300 Subject: [PATCH] fix: support list param values in SET command --- sbroad-core/src/frontend/sql/ir/tests.rs | 5 +++++ sbroad-core/src/frontend/sql/query.pest | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/sbroad-core/src/frontend/sql/ir/tests.rs b/sbroad-core/src/frontend/sql/ir/tests.rs index e9273244e..2137d5c3b 100644 --- a/sbroad-core/src/frontend/sql/ir/tests.rs +++ b/sbroad-core/src/frontend/sql/ir/tests.rs @@ -3568,6 +3568,11 @@ fn front_mock_set_param_transaction() { r#"set local time zone local"#, r#"set time zone -3"#, r#"set time zone 'value'"#, + r#"SET search_path TO my_schema, public;"#, + r#"SET datestyle TO postgres, dmy;"#, + r#"SET TIME ZONE 'PST8PDT';"#, + r#"SET TIME ZONE 'Europe/Rome';"#, + r#"SET param To list, 'of', 4, valuez;"#, r#"set transaction snapshot 'snapshot-string'"#, r#"set transaction read write"#, r#"set transaction read only"#, diff --git a/sbroad-core/src/frontend/sql/query.pest b/sbroad-core/src/frontend/sql/query.pest index 014ed49ef..3b12d6c23 100644 --- a/sbroad-core/src/frontend/sql/query.pest +++ b/sbroad-core/src/frontend/sql/query.pest @@ -127,7 +127,7 @@ DDL = _{ CreateTable | DropTable | CreateIndex | DropIndex ScopeSession = { ^"session" } ScopeLocal = { ^"local" } ConfParam = { NamedParam | TimeZoneParam } - NamedParam = { Identifier ~ (^"to" | "=") ~ NamedParamValue } + NamedParam = { Identifier ~ (^"to" | "=") ~ (NamedParamValue ~ ("," ~ NamedParamValue)*) } NamedParamValue = { ParamValueDefault | SingleQuotedString | Identifier | Double | Decimal | Integer } TimeZoneParam = { ^"time" ~ ^"zone" ~ TimeZoneParamValue } TimeZoneParamValue = { NamedParamValue | ParamValueLocal } -- GitLab