prosto icon indicating copy to clipboard operation
prosto copied to clipboard

Validate the results of parsing in the context of each operation

Open asavinov opened this issue 4 years ago • 0 comments

The parser returns a syntactic structure. The task is to validate this structure.

The main alternative is

  • Validate without name resolution and bindings. It is relatively simple because we simply check the presence of elements against expected (template) structure for this operation
  • Validation with name resolution and bindings. Here we also check the query structure against the existing data schema and its names (existing columns, tables etc.) Such validation could be part of the translator or another more complex function.
  • Validation within topology translator where new operations could be added and columns or column paths could be augmented (say, using inheritance).

The minimum version could do very simple checks and executed just after the parser in order to detect simple errors. Later on, it could be integrated into the topology translator.

asavinov avatar Jul 04 '21 10:07 asavinov