[ https://issues.apache.org/jira/browse/CASSANDRA-10537?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17524772#comment-17524772 ]
Berenguer Blasi commented on CASSANDRA-10537: --------------------------------------------- Finally I got it to run. Apologies [~Antoine Rocheteau] we had problems in our CI. Seems upgrade tests are failing [here|https://app.circleci.com/pipelines/github/bereng/cassandra/644/workflows/da034812-e416-4e93-8ee9-8024c9d5197c/jobs/5772/tests#failed-test-7]. Notice how dtests are a shared repro between all C* versions. This is why you see some pieces or full tests protected by version ranges, so that only features that apply to a version get executed. On a quick check I don't think your changes to dtests have proper C* version constrains. My bad I forgot to mention that to you. > CONTAINS and CONTAINS KEY support for Lightweight Transactions > -------------------------------------------------------------- > > Key: CASSANDRA-10537 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10537 > Project: Cassandra > Issue Type: Improvement > Components: Legacy/CQL > Reporter: Nimi Wariboko Jr. > Assignee: ROCHETEAU Antoine > Priority: Normal > Labels: AdventCalendar2021, CQL, lhf > Fix For: 4.x > > Time Spent: 3h 10m > Remaining Estimate: 0h > > Conditional updates currently do not support CONTAINS and CONTAINS KEY > conditions. Queries such as > {{UPDATE mytable SET somefield = 4 WHERE pk = 'pkv' IF set_column CONTAINS > 5;}} > are not possible. > Would it also be possible to support the negation of these (ex. testing that > a value does not exist inside a set)? > +Additional Information for newcomers:+ > Negation should not be supported as for the moment we do not support it > within restrictions either. > One way to approch this bug is to use test driven development. You can modify > {{InsertUpdateIfConditionCollectionsTest}} to allow CONTAINS and CONTAINS KEY > operators and go through the different failures. > The following changes will need to be done. > * The {{columnCondition}} rule from the ANTLR {{Parser.g}} file should be > updated to accept {{containsOperator}}. > * {{ColumnCondition.Raw#prepareTerms}} should be modified in the case where > the operator is a CONTAINS or CONTAINS KEY as the {{receiver}} is not the > collection but keys or values of the collection. Look at > {{SingleColumnRelation#makeCollectionReceiver}}. > * {{ColumnCollection.MultiCellCollectionBound#valueAppliesTo}} will need to > be changed for {{Map}} and {{Set}} to process CONTAINS operators. > -- This message was sent by Atlassian Jira (v8.20.7#820007) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org