@@ -47,8 +47,7 @@ assignP = do
47 relVarName <- identifier
47 relVarName <- identifier
48 reservedOp ":="
48 reservedOp ":="
49 return relVarName
49 return relVarName
51− pure $ Assign relVarName expr
50+ Assign relVarName <$> relExprP
53multilineSep :: Parser T.Text
52multilineSep :: Parser T.Text
54multilineSep = newline >> pure "\n"
53multilineSep = newline >> pure "\n"
@@ -61,8 +60,7 @@ insertP :: Parser DatabaseContextExpr
61insertP = do
60insertP = do
62 reservedOp "insert"
61 reservedOp "insert"
63 relvar <- identifier
62 relvar <- identifier
65− pure $ Insert relvar expr
63+ Insert relvar <$> relExprP
67defineP :: Parser DatabaseContextExpr
65defineP :: Parser DatabaseContextExpr
68defineP = do
66defineP = do
@@ -70,8 +68,7 @@ defineP = do
70 relVarName <- identifier
68 relVarName <- identifier
71 reservedOp "::"
69 reservedOp "::"
72 return relVarName
70 return relVarName
73− attributeSet <- makeAttributeExprsP
74− pure $ Define relVarName attributeSet
71+ Define relVarName <$> makeAttributeExprsP
76undefineP :: Parser DatabaseContextExpr
73undefineP :: Parser DatabaseContextExpr
77undefineP = do
74undefineP = do
@@ -110,8 +107,7 @@ addConstraintP = do
110deleteConstraintP :: Parser DatabaseContextExpr
107deleteConstraintP :: Parser DatabaseContextExpr
111deleteConstraintP = do
108deleteConstraintP = do
112 reserved "deleteconstraint"
109 reserved "deleteconstraint"
113− constraintName <- identifier
110+ RemoveInclusionDependency <$> identifier
114− pure $ RemoveInclusionDependency constraintName
116-- key <constraint name> {<uniqueness attributes>} <uniqueness relexpr>
112-- key <constraint name> {<uniqueness attributes>} <uniqueness relexpr>
117keyP :: Parser DatabaseContextExpr
113keyP :: Parser DatabaseContextExpr
@@ -151,14 +147,12 @@ addNotificationP = do
151 notName <- identifier
147 notName <- identifier
152 triggerExpr <- relExprP
148 triggerExpr <- relExprP
153 resultOldExpr <- relExprP
149 resultOldExpr <- relExprP
154− resultNewExpr <- relExprP
155− pure $ AddNotification notName triggerExpr resultOldExpr resultNewExpr
150+ AddNotification notName triggerExpr resultOldExpr <$> relExprP
157removeNotificationP :: Parser DatabaseContextExpr
152removeNotificationP :: Parser DatabaseContextExpr
158removeNotificationP = do
153removeNotificationP = do
159 reserved "unnotify"
154 reserved "unnotify"
160− notName <- identifier
155+ RemoveNotification <$> identifier
161− pure $ RemoveNotification notName
163-- | data Hair = Bald | Color Text
157-- | data Hair = Bald | Color Text
164addTypeConstructorP :: Parser DatabaseContextExpr
158addTypeConstructorP :: Parser DatabaseContextExpr