on master help sign in
don't parse ":showexprx" (with missing space)
3c80158AgentM
src/bin/TutorialD/Interpreter/Base.hs+6
@@ -222,3 +222,9 @@ utcTimeP = do
222 case parseTimeM True defaultTimeLocale "%Y-%m-%d %H:%M:%S" (T.unpack timeStr) of
222 case parseTimeM True defaultTimeLocale "%Y-%m-%d %H:%M:%S" (T.unpack timeStr) of
223 Nothing -> fail "invalid datetime input, use \"YYYY-MM-DD HH:MM:SS\""
223 Nothing -> fail "invalid datetime input, use \"YYYY-MM-DD HH:MM:SS\""
224 Just stamp' -> pure stamp'
224 Just stamp' -> pure stamp'
225+
226+
227+colonOp :: Text -> Parser ()
228+colonOp opStr = do
229+ _ <- chunk opStr <* spaceChar <* spaceConsumer
230+ pure ()
src/bin/TutorialD/Interpreter/RODatabaseContextOperator.hs+11−11
@@ -31,44 +31,44 @@ data RODatabaseContextOperator where
31
31
32typeP :: Parser RODatabaseContextOperator
32typeP :: Parser RODatabaseContextOperator
33typeP = do
33typeP = do
34− reservedOp ":type"
34+ colonOp ":type"
35 ShowRelationType <$> relExprP
35 ShowRelationType <$> relExprP
36
36
37showRelP :: Parser RODatabaseContextOperator
37showRelP :: Parser RODatabaseContextOperator
38showRelP = do
38showRelP = do
39− reservedOp ":showexpr"
39+ colonOp ":showexpr"
40 ShowRelation <$> relExprP
40 ShowRelation <$> relExprP
41
41
42showPlanP :: Parser RODatabaseContextOperator
42showPlanP :: Parser RODatabaseContextOperator
43showPlanP = do
43showPlanP = do
44− reservedOp ":showplan"
44+ colonOp ":showplan"
45 ShowPlan <$> databaseContextExprP
45 ShowPlan <$> databaseContextExprP
46
46
47showTypesP :: Parser RODatabaseContextOperator
47showTypesP :: Parser RODatabaseContextOperator
48−showTypesP = reserved ":showtypes" >> pure ShowTypes
48+showTypesP = colonOp ":showtypes" >> pure ShowTypes
49
49
50showRelationVariables :: Parser RODatabaseContextOperator
50showRelationVariables :: Parser RODatabaseContextOperator
51−showRelationVariables = reserved ":showrelvars" >> pure ShowRelationVariables
51+showRelationVariables = colonOp ":showrelvars" >> pure ShowRelationVariables
52
52
53showAtomFunctionsP :: Parser RODatabaseContextOperator
53showAtomFunctionsP :: Parser RODatabaseContextOperator
54−showAtomFunctionsP = reserved ":showatomfunctions" >> pure ShowAtomFunctions
54+showAtomFunctionsP = colonOp ":showatomfunctions" >> pure ShowAtomFunctions
55
55
56showDatabaseContextFunctionsP :: Parser RODatabaseContextOperator
56showDatabaseContextFunctionsP :: Parser RODatabaseContextOperator
57−showDatabaseContextFunctionsP = reserved ":showdatabasecontextfunctions" >> pure ShowDatabaseContextFunctions
57+showDatabaseContextFunctionsP = colonOp ":showdatabasecontextfunctions" >> pure ShowDatabaseContextFunctions
58
58
59quitP :: Parser RODatabaseContextOperator
59quitP :: Parser RODatabaseContextOperator
60quitP = do
60quitP = do
61− reservedOp ":quit"
61+ colonOp ":quit"
62 return Quit
62 return Quit
63
63
64showConstraintsP :: Parser RODatabaseContextOperator
64showConstraintsP :: Parser RODatabaseContextOperator
65showConstraintsP = do
65showConstraintsP = do
66− reservedOp ":constraints"
66+ colonOp ":constraints"
67 ShowConstraint <$> option "" identifier
67 ShowConstraint <$> option "" identifier
68
68
69plotRelExprP :: Parser RODatabaseContextOperator
69plotRelExprP :: Parser RODatabaseContextOperator
70plotRelExprP = do
70plotRelExprP = do
71− reserved ":plotexpr"
71+ colonOp ":plotexpr"
72 PlotRelation <$> relExprP
72 PlotRelation <$> relExprP
73
73
74roDatabaseContextOperatorP :: Parser RODatabaseContextOperator
74roDatabaseContextOperatorP :: Parser RODatabaseContextOperator
@@ -164,7 +164,7 @@ interpretRODatabaseContextOp sessionId conn tutdstring = case parse roDatabaseCo
164
164
165showDataFrameP :: Parser RODatabaseContextOperator
165showDataFrameP :: Parser RODatabaseContextOperator
166showDataFrameP = do
166showDataFrameP = do
167− reservedOp ":showdataframe"
167+ colonOp ":showdataframe"
168 relExpr <- relExprP
168 relExpr <- relExprP
169 reservedOp "orderby"
169 reservedOp "orderby"
170 attrOrdersExpr <- attrOrdersExprP
170 attrOrdersExpr <- attrOrdersExprP