Benjamin Lerer created CASSANDRA-19341:
------------------------------------------
Summary: Relation and Restriction hierachies are too complex and
error prone
Key: CASSANDRA-19341
URL: https://issues.apache.org/jira/browse/CASSANDRA-19341
Project: Cassandra
Issue Type: Improvement
Components: CQL/Interpreter
Reporter: Benjamin Lerer
The {{Relation}} and {{Restriction}} hierarchy have been designed when C* was
only supporting a limited amount of operators and columns expressions (single
column, multi-column and token expressions). Over time they have grown in
complexity making the code harder to understand and modify and error prone.
Their design is also resulting in unnecessary limitations that could be easily
lifted, like the ability to accept different predicates on the same column.
Today adding a new operator requires the addition of a lot of glue code and
chirurgical changes accross the CQL layer. Making patch for features such as
CASSANDRA-18584 much complex than it should be.
The goal of this ticket is to simplify the {{Relation}} and {{Restriction}}
hierarchies and modify operator class so that adding new operators requires
only changes to the {{Operator}} class and ANTLR file.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]