From 6aec20313db49024ff1ffd09432dfa88cb24d0e5 Mon Sep 17 00:00:00 2001 From: Marc Scholten Date: Fri, 14 Jan 2022 08:59:16 +0100 Subject: [PATCH] Support lowercased SELECT expressions --- IHP/IDE/SchemaDesigner/Parser.hs | 6 +++--- Test/IDE/SchemaDesigner/ParserSpec.hs | 3 +++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/IHP/IDE/SchemaDesigner/Parser.hs b/IHP/IDE/SchemaDesigner/Parser.hs index 170c2b9dd..c5e2b4dcd 100644 --- a/IHP/IDE/SchemaDesigner/Parser.hs +++ b/IHP/IDE/SchemaDesigner/Parser.hs @@ -445,11 +445,11 @@ textExpr' = cs <$> do selectExpr :: Parser Expression selectExpr = do - lexeme "SELECT" + symbol' "SELECT" columns <- expression `sepBy` (char ',' >> space) - lexeme "FROM" + symbol' "FROM" from <- expression - lexeme "WHERE" + symbol' "WHERE" whereClause <- expression pure (SelectExpression Select { .. }) diff --git a/Test/IDE/SchemaDesigner/ParserSpec.hs b/Test/IDE/SchemaDesigner/ParserSpec.hs index 7a7559fda..c59ffd99d 100644 --- a/Test/IDE/SchemaDesigner/ParserSpec.hs +++ b/Test/IDE/SchemaDesigner/ParserSpec.hs @@ -763,6 +763,9 @@ COMMENT ON EXTENSION "uuid-ossp" IS 'generate universally unique identifiers (UU it "should parse negative DoubleExpression's" do parseExpression "-1.337" `shouldBe` (DoubleExpression (-1.337)) + it "should parse lower-cased SELECT expressions" do + parseExpression "(select company_id from users where id = ihp_user_id())" `shouldBe` SelectExpression (Select {columns = [VarExpression "company_id"], from = VarExpression "users", whereClause = EqExpression (VarExpression "id") (CallExpression "ihp_user_id" [])}) + col :: Column col = Column { name = ""