[ https://issues.apache.org/jira/browse/CASSANDRA-19341?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Benjamin Lerer updated CASSANDRA-19341: --------------------------------------- Test and Documentation Plan: The patch adds new tests for some of the new classes and relies on existing tests to validate the changes. Status: Patch Available (was: Open) CI results: [J11|https://app.circleci.com/pipelines/github/blerer/cassandra/390/workflows/7c475c9c-9936-4def-9ec5-936859cfcc21], [J17|https://app.circleci.com/pipelines/github/blerer/cassandra/390/workflows/2655f762-5fba-45ef-946e-5db7637873a4] DTests changes: https://github.com/apache/cassandra-dtest/pull/259 > 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 > Assignee: Benjamin Lerer > Priority: Normal > Time Spent: 20m > Remaining Estimate: 0h > > 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 > surgical 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: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org