Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-19341

Relation and Restriction hierarchies are too complex and error prone

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Normal
    • Resolution: Fixed
    • 5.1
    • CQL/Interpreter
    • None

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

              blerer Benjamin Lerer
              blerer Benjamin Lerer
              Benjamin Lerer
              Berenguer Blasi, Caleb Rackliffe, Ekaterina Dimitrova
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 32h 40m
                  32h 40m