Currently, the following negative tests fail to raise:
-
syn-bad-01.rq: "MALFORMED QUERY: variable 'p' in projection not present in GROUP BY."
-
syn-bad-02.rq: "MALFORMED QUERY: variable 'o' in projection not present in GROUP BY."
-
syn-bad-03.rq: "MALFORMED QUERY: duplicate use of alias 'X' in projection."
-
syntax-BINDscope6.rq: "MALFORMED QUERY: BIND clause alias 'o1' was previously used"
-
syntax-BINDscope7.rq: "MALFORMED QUERY: BIND clause alias 'o1' was previously used"
-
syntax-BINDscope8.rq: "MALFORMED QUERY: BIND clause alias 'Y' was previously used"
-
syntax-SELECTscope2.rq: "MALFORMED QUERY: projection alias 'X' was previously used"
-
syn-bad-values-too-many/few: "MALFORMED QUERY: number of values in bindingset does not match variables in BINDINGS clause"
These queries are syntactically correct, but should be rejected semantically/.
Validation can be implemented using lark.Visitors, see https://github.com/lu-pl/larql/blob/main/src/larql/utils/validators.py.
Currently, the following negative tests fail to raise:
syn-bad-01.rq: "MALFORMED QUERY: variable 'p' in projection not present in GROUP BY."
syn-bad-02.rq: "MALFORMED QUERY: variable 'o' in projection not present in GROUP BY."
syn-bad-03.rq: "MALFORMED QUERY: duplicate use of alias 'X' in projection."
syntax-BINDscope6.rq: "MALFORMED QUERY: BIND clause alias 'o1' was previously used"
syntax-BINDscope7.rq: "MALFORMED QUERY: BIND clause alias 'o1' was previously used"
syntax-BINDscope8.rq: "MALFORMED QUERY: BIND clause alias 'Y' was previously used"
syntax-SELECTscope2.rq: "MALFORMED QUERY: projection alias 'X' was previously used"
syn-bad-values-too-many/few: "MALFORMED QUERY: number of values in bindingset does not match variables in BINDINGS clause"
These queries are syntactically correct, but should be rejected semantically/.
Validation can be implemented using
lark.Visitors, see https://github.com/lu-pl/larql/blob/main/src/larql/utils/validators.py.