Skip to content
This repository was archived by the owner on Jun 15, 2023. It is now read-only.

Commit 1f7b582

Browse files
authored
Preserve casing of keywords (#31)
* Preserve casing of keywords * Add test. Fix vari relation bug
1 parent 89cc952 commit 1f7b582

File tree

3 files changed

+6
-3
lines changed

3 files changed

+6
-3
lines changed

src/SqlSquared/Parser.purs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -578,8 +578,7 @@ tableRelation = do
578578

579579
variRelation m t. SqlParser m t (Sig.Relation t)
580580
variRelation = do
581-
operator ":"
582-
vari ← ident
581+
vari ← variableString
583582
a ← PC.optionMaybe do
584583
_ ← keyword "as"
585584
ident

src/SqlSquared/Parser/Tokenizer.purs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ notQuotedIdentOrKeyword = do
226226
str = S.fromCharArray $ A.cons first other
227227
low = S.toLower str
228228
pure if Set.member low keywords
229-
then Kw low
229+
then Kw str
230230
else Identifier str
231231

232232
stringLit m. Monad m P.ParserT String m Token

test/src/Parse.purs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,10 @@ testSuite1 = do
184184
select foo as `between` from bar
185185
"""
186186

187+
parseSucc """
188+
select foo from :From
189+
"""
190+
187191
testSuite2 e. TestSuite (testOutput Console.TESTOUTPUT | e)
188192
testSuite2 = do
189193
parseSucc """

0 commit comments

Comments
 (0)