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