-
Notifications
You must be signed in to change notification settings - Fork 7
Поддержка функций в Where-условиях #129
Description
Начиная с 5.12.0 у ядра rx появилась поддержка функций в Where-условиях. На текущий момент это функции now и flat_array_len. Документация здесь. Значения функций можно сравнивать с литералами, полями и subquery (в перспективе можно будет сравнивать с произвольным выражением).
В связи с этим в Go появился интерфейс WhereExpressions, позволяющий передавать произвольные сущности в левую и правую части Where (валидация совместимости этих сущностей происходит на стороне ядра). Выглядит это вот так. Доступные функции определены здесь, а реализации интерфейса IExpression - здесь (Field - поле, Values - литералы, Subquery - вложенный запрос).
Также для flat_array_len есть отдельная обёртка под базовый случай фильтрации (функция + литерал).
Со стороны java-коннектора хотелось бы тоже поддержать возможность работы с функциями (как минимум, возможность сравнить в Where значение функции с полем, литералом или подзапросом)