[ https://issues.apache.org/jira/browse/CASSANDRA-18813?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17765520#comment-17765520 ]
Benjamin Lerer commented on CASSANDRA-18813: -------------------------------------------- I updated the patch which now: * removes the {{MultiItemTerminal}} and {{MultiColumnRaw}} interfaces * represents IN bind marker as {{Terms}} instead of having 2 different representations (a list of terms and a single {{MultiItemTerminal}}). * replaces the {{AbstractMarker}} hierachy by the {{Marker}} class * introduces a new {{MultiElementType}} that becomes a super class of all the {{CollectionTypes}}, {{TupleType}}, {{UserType}} and {{VectorType}} (standardizing the {{pack}} and {{unpack}} method names and their modifiers) * It replaces the {{Value}} and {{DelayedValue}} implementations for the {{Lists}}, {{Sets}}, {{Maps}}, {{Tuples}}, {{UserTypes}} and {{Vectors}} classes by the {{MultiElements}} Value and {{DelayedValue}} classes. CI [Java 11|https://app.circleci.com/pipelines/github/blerer/cassandra/358/workflows/efc7db24-d110-4f45-a273-c71e685b39a5] and [Java 17|https://app.circleci.com/pipelines/github/blerer/cassandra/358/workflows/deec9a8e-132c-484c-b8dc-496d4a837072] > Simplify the bind marker and Term logic > --------------------------------------- > > Key: CASSANDRA-18813 > URL: https://issues.apache.org/jira/browse/CASSANDRA-18813 > Project: Cassandra > Issue Type: Improvement > Components: CQL/Interpreter > Reporter: Benjamin Lerer > Assignee: Benjamin Lerer > Priority: Normal > Fix For: 5.x > > Time Spent: 0.5h > Remaining Estimate: 0h > > The current logic around {{Term}} and {{Terms}} classes is confusing > specially with {{MultiItemTerminal}} and {{MultiColumnRaw}} that are used to > handle different use cases that could be handled simply with the {{Term}} > interface. > On top of that IN marker add to the confusion because the are represented as > single Term where in practice they are a set of terms. Representing them as a > {{Terms}} could simplify the way we handle IN restrictions. > The goal of this ticket is: > * to refactor the {{Term}} and {{Terms}} interfaces to simplify the logic > * Represents IN bind marker as {{Terms}} instead of having 2 different > representations (a list of terms and a single {{MultiItemTerminal}}. > * Simplify the {{AbstractMarker}} hierachy -- 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