mirror of
https://github.com/scylladb/scylladb.git
synced 2026-06-01 04:26:48 +00:00
Before this change parser used to output instances of the `relation` class, which were later converted to `restrction`. `relation` took care of initial processing such as preparing and some validation checks. This PR aims to remove the `relation` class and perform it's functionality using only `expression`. This is a step towards removing the legacy classes and converting all AST analysis to work on `expressions`. Closes #10409 * github.com:scylladb/scylla: cql3: Remove scalar from bind_variable_scalar_prepare_expression cql3: expr: Remove shape_type from bind_variable cql3: Remove prepare_expression_multi_column cql3: Remove relation class cql3: Add more tests for expr::printer cql3: Make parser output expression for relations cql3: expr: add printer for expression cql3: expr: expr::to_restriction: Handle token relations cql3: expr: expr::to_restriction: Handle multi column relations cql3: expr: Add expr::to_restriction for single column relations cql3: expr: Add prepare_binary_operator cql3: expr: Change how prepare_expression handles bind_variable clq3: expr: Add columns to expr::token struct cql3: expr: Modify list_prepare_expression to handle lists of IN values cql3: expr: Add expr::as_if for non-const expressions