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

Add support for BETWEEN operator

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Review In Progress
    • Normal
    • Resolution: Unresolved
    • 5.x
    • CQL/Interpreter
    • None
    • Semantic
    • Normal
    • All
    • None
    • Hide

      The patch add unit tests that cover the new functionality.

      Show
      The patch add unit tests that cover the new functionality.

    Description

      CQL support the >= and <= but does not support yet the BETWEEN operator. After CASSANDRA-19341 adding new operators should be much simpler and safer than it use to be.
      For the scope of this ticket BETWEEN support should be added for WHERE clauses of SELECT and DELETE queries (for single column and multi-column restrictions). NOT BETWEEN should be added and should be supported everywhere BETWEEN is.

      Additional information for newcomers:
      Parts that will need to be modified:

      • Lexer.g and Parser.g to add support for the new keyword and syntax
      • The Operator.class to add the new BETWEEN operator
      • Unit tests in SelectSingleColumnRelationTest and SelectMultiColumnRelationTest classes for the different types of columns (partition key, clustering, static and regular).
      • CQLSH auto completion in cql3handling.py and test for it in test_cqlsh_completion.py
      • Update the documentation

      Of course this is just an overview and some other parts might have to be changed as well.

      Attachments

        Issue Links

          Activity

            People

              xvade Simon Chess
              blerer Benjamin Lerer
              Simon Chess
              Benjamin Lerer, Ekaterina Dimitrova
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 1h
                  1h