Skip to content

Support arbitrary expressions with arithmetics in selections and joins

Currently we support some of logical (and, or, between, in, not,..) and comparison (>, <,..) operators in selection, what means that we can execute:

select "a" from "t" where "b" > 0 and "c" between "d" and "e" or another clause expression consisting of logical and comparison operations.

We need to support arithmetic operators (*, /, + and -) as well, what means to support:

select "a" from "t" where "b" * 2 > 0 and "c" between "d" + "f" and "e" or another clause expression consisting of logical, comparison and arithmetic operations.

Definition of done:

  • arbitrary expressions added to grammar as selection
  • arbitrary expressions added to ir
  • unit test (negative + positive)
  • integration test (negative + positive)
Edited by Asya Lomakina