Skip to content

Implement semantic validation #3

@lu-pl

Description

@lu-pl

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.

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions